#include <iostream>
using namespace std;
class MyClass {
public:
int myNum;
string myString;
MyClass(int num, string str){
this->myNum = num;
this->myString = str;
}
};
int main() {
//A abordagem a seguir não é recomendavel pois a alocação imprudente de objetos no Stack pode causar o Stack Overflow.
//A declaração abaixo aloca uma instância da classe MyClass no Stack.
MyClass* myObject = new (alloca(sizeof(MyClass))) MyClass(1, "Essa instancia foi allocada no Stack.");
cout<<myObject->myString;
myObject->~MyClass();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTXlDbGFzcyB7ICAgICAgIAogIHB1YmxpYzogICAgICAgICAgICAgCiAgICBpbnQgbXlOdW07ICAgICAgICAKICAgIHN0cmluZyBteVN0cmluZzsgIAogICAgTXlDbGFzcyhpbnQgbnVtLCBzdHJpbmcgc3RyKXsKICAgIAl0aGlzLT5teU51bSA9IG51bTsKICAgIAl0aGlzLT5teVN0cmluZyA9IHN0cjsKICAgIH0KfTsKCmludCBtYWluKCkgewoJLy9BIGFib3JkYWdlbSBhIHNlZ3VpciBuw6NvIMOpIHJlY29tZW5kYXZlbCBwb2lzIGEgYWxvY2HDp8OjbyBpbXBydWRlbnRlIGRlIG9iamV0b3Mgbm8gU3RhY2sgcG9kZSBjYXVzYXIgbyBTdGFjayBPdmVyZmxvdy4KCS8vQSBkZWNsYXJhw6fDo28gYWJhaXhvIGFsb2NhIHVtYSBpbnN0w6JuY2lhIGRhIGNsYXNzZSBNeUNsYXNzIG5vIFN0YWNrLgoJTXlDbGFzcyogbXlPYmplY3QgPSBuZXcgKGFsbG9jYShzaXplb2YoTXlDbGFzcykpKSBNeUNsYXNzKDEsICJFc3NhIGluc3RhbmNpYSBmb2kgYWxsb2NhZGEgbm8gU3RhY2suIik7CgkKCWNvdXQ8PG15T2JqZWN0LT5teVN0cmluZzsKCQoJbXlPYmplY3QtPn5NeUNsYXNzKCk7CglyZXR1cm4gMDsKfQ==