Ich las this Post und ich wollte klären, muss ich explizit Membervariablen eines Objekts löschen, das dynamisch erstellt wurde?C++ Destruktor für Member-Variablen?
Zum Beispiel habe ich eine Klasse mit zwei Membervariablen,
class pointCloud
{
public:
pointCloud();
void addPoint(int);
point getPoint(int);
private:
int id;
std::vector<point> pointArray;
};
und dann erstelle ich eine dynamische Instanz davon in Haupt ...
int main()
{
pointCloud* cloud = new pointCloud;
cloud->addPoint(8);
delete cloud;
}
Mein Verständnis ist, dass, wenn delete cloud;
wird aufgerufen, die Variablen 'id' und 'pointArray' werden automatisch aus dem Speicher gelöscht/freigegeben. Ist das richtig? Oder muss ich einen Destruktor schreiben, um diese Membervariablen explizit zu löschen?
ja, rechts .. Destruktor ist für die Freigabe dynamisch zugewiesenen Speicher benötigt – SimpleGuy