#include <iostream>
class Example {
private:
int a;
// lots of important variables from the heap
public:
int getA() { return a; }
Example() {
std::cout << "constructor" << std::endl;
}
~Example() {
std::cout << "destructor" << std::endl;
// we have no heap variables, but those would be deleted here
}
};
int main() {
for (int i = 0; i < 5; i++) {
Example e;
// scope of e ends, so destructor is called
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgRXhhbXBsZSB7CiAgICBwcml2YXRlOgogICAgICAgIGludCBhOwogICAgICAgIC8vIGxvdHMgb2YgaW1wb3J0YW50IHZhcmlhYmxlcyBmcm9tIHRoZSBoZWFwCiAgICBwdWJsaWM6CiAgICAgICAgaW50IGdldEEoKSB7IHJldHVybiBhOyB9CiAgICAgICAgCiAgICAgICAgRXhhbXBsZSgpIHsKICAgICAgICAJc3RkOjpjb3V0IDw8ICJjb25zdHJ1Y3RvciIgPDwgc3RkOjplbmRsOwkKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgfkV4YW1wbGUoKSB7CiAgICAgICAgCXN0ZDo6Y291dCA8PCAiZGVzdHJ1Y3RvciIgPDwgc3RkOjplbmRsOwogICAgICAgIAkvLyB3ZSBoYXZlIG5vIGhlYXAgdmFyaWFibGVzLCBidXQgdGhvc2Ugd291bGQgYmUgZGVsZXRlZCBoZXJlCiAgICAgICAgfQp9OwoKaW50IG1haW4oKSB7Cglmb3IgKGludCBpID0gMDsgaSA8IDU7IGkrKykgewoJCUV4YW1wbGUgZTsKCQkvLyBzY29wZSBvZiBlIGVuZHMsIHNvIGRlc3RydWN0b3IgaXMgY2FsbGVkCgl9Cn0=