Als «delete-operator» getaggte Fragen

In der Programmiersprache C ++ ruft der Löschoperator den Destruktor des angegebenen Arguments auf und gibt den durch new zugewiesenen Speicher an den Heap zurück.

91
Löschen eines Zeigers in C ++

Kontext: Ich versuche, meinen Kopf um Zeiger zu wickeln. Wir haben sie erst vor ein paar Wochen in der Schule gesehen und als ich heute übte, bin ich auf einen Dummkopf gestoßen. Problem, es kann für Sie sehr einfach sein, aber ich habe wenig bis gar keine Programmiererfahrung. Ich habe in SO...

87
Löschen eines Zeigers auf const (T const *)

Ich habe eine grundlegende Frage zu den const-Zeigern. Ich darf keine Nicht-Const-Member-Funktionen mit einem Const-Zeiger aufrufen. Ich darf dies jedoch mit einem const-Zeiger tun: delete p; Dies ruft den Destruktor der Klasse auf, der im Wesentlichen eine nicht konstante 'Methode' ist. Warum ist...

83
Wie ordnen Sie C ++ neu zu?

Wie kann ich reallocin C ++? Es scheint in der Sprache zu fehlen - es gibt newund deleteaber nicht resize! Ich brauche es, weil mein Programm, wenn es mehr Daten liest, den Puffer neu zuweisen muss, um es zu halten. Ich denke nicht, dass es die richtige Option ist, den deletealten Zeiger und...

8
Kann ein Compiler die Implementierung eines implizit deklarierten virtuellen Destruktors in einer einzelnen separaten Übersetzungseinheit platzieren?

Der folgende Code kompiliert und verknüpft mit Visual Studio(sowohl 2017 als auch 2019 mit /permissive-), kompiliert jedoch nicht mit entweder gccoder clang. foo.h #include <memory> struct Base { virtual ~Base() = default; // (1) }; struct Foo : public Base { Foo(); // (2) struct...