Вызывается ли деструктор, когда объект выходит из области видимости?

Например:

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

    return 0;
}

class Foo {
private:
    somePointer* bar;

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

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

Будет ли деструктор неявно вызываться компилятором или будет утечка памяти?

Я новичок в динамической памяти, так что если это нет пригодный для использования тестовый пример, ямне жаль

Ответы на вопрос(4)

Ваш ответ на вопрос