Wird ein Destruktor aufgerufen, wenn ein Objekt den Gültigkeitsbereich verlässt?

Zum Beispiel:

int main() {
    Foo *leedle = new Foo();

    return 0;
}

class Foo {
private:
    somePointer* bar;

public:
    Foo();
    ~Foo();
};

Foo::~Foo() {
    delete bar;
}

Wird der Destruktor implizit vom Compiler aufgerufen, oder liegt ein Speicherverlust vor?

Ich bin neu im dynamischen Speicher. Wenn dies also kein brauchbarer Testfall ist, tut es mir leid.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage