#include <iostream>
#include <new> // For placement new
// Example class
class MyClass {
public :
MyClass( ) { std:: cout << "Constructor called." << std:: endl ; }
~MyClass( ) { std:: cout << "Destructor called." << std:: endl ; }
} ;
int main( ) {
std:: cout << "Example 1: Explicit Destructor Call" << std:: endl ;
{
MyClass obj;
obj.~MyClass( ) ; // Explicitly calling the destructor
std:: cout << "End of scope. Destructor will be called again." << std:: endl ;
} // Destructor will be called again here
std:: cout << "\n Example 2: Placement New with Explicit Destructor Call" << std:: endl ;
{
char buffer[ sizeof ( MyClass) ] ;
MyClass* obj = new ( buffer) MyClass( ) ; // Placement new
obj- > ~MyClass( ) ; // Explicitly calling the destructor
std:: cout << "End of scope. No additional destructor call." << std:: endl ;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bmV3PiAvLyBGb3IgcGxhY2VtZW50IG5ldwoKLy8gRXhhbXBsZSBjbGFzcwpjbGFzcyBNeUNsYXNzIHsKcHVibGljOgogICAgTXlDbGFzcygpIHsgc3RkOjpjb3V0IDw8ICJDb25zdHJ1Y3RvciBjYWxsZWQuIiA8PCBzdGQ6OmVuZGw7IH0KICAgIH5NeUNsYXNzKCkgeyBzdGQ6OmNvdXQgPDwgIkRlc3RydWN0b3IgY2FsbGVkLiIgPDwgc3RkOjplbmRsOyB9Cn07CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6Y291dCA8PCAiRXhhbXBsZSAxOiBFeHBsaWNpdCBEZXN0cnVjdG9yIENhbGwiIDw8IHN0ZDo6ZW5kbDsKICAgIHsKICAgICAgICBNeUNsYXNzIG9iajsKICAgICAgICBvYmoufk15Q2xhc3MoKTsgLy8gRXhwbGljaXRseSBjYWxsaW5nIHRoZSBkZXN0cnVjdG9yCiAgICAgICAgc3RkOjpjb3V0IDw8ICJFbmQgb2Ygc2NvcGUuIERlc3RydWN0b3Igd2lsbCBiZSBjYWxsZWQgYWdhaW4uIiA8PCBzdGQ6OmVuZGw7CiAgICB9IC8vIERlc3RydWN0b3Igd2lsbCBiZSBjYWxsZWQgYWdhaW4gaGVyZQoKICAgIHN0ZDo6Y291dCA8PCAiXG5FeGFtcGxlIDI6IFBsYWNlbWVudCBOZXcgd2l0aCBFeHBsaWNpdCBEZXN0cnVjdG9yIENhbGwiIDw8IHN0ZDo6ZW5kbDsKICAgIHsKICAgICAgICBjaGFyIGJ1ZmZlcltzaXplb2YoTXlDbGFzcyldOwogICAgICAgIE15Q2xhc3MqIG9iaiA9IG5ldyAoYnVmZmVyKSBNeUNsYXNzKCk7IC8vIFBsYWNlbWVudCBuZXcKICAgICAgICBvYmotPn5NeUNsYXNzKCk7IC8vIEV4cGxpY2l0bHkgY2FsbGluZyB0aGUgZGVzdHJ1Y3RvcgogICAgICAgIHN0ZDo6Y291dCA8PCAiRW5kIG9mIHNjb3BlLiBObyBhZGRpdGlvbmFsIGRlc3RydWN0b3IgY2FsbC4iIDw8IHN0ZDo6ZW5kbDsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
stdin
MTAKYWJhCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtz
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks