虽然我知道这可能不是最好的想法,但我假设性地问:
手动调用对象的析构函数,然后将内存重新用于另一个对象是否合法(即定义的行为)?
定义:
class A {
int a, b, c;
A() {}
~A() {}
}
A createObject() {
A object;
return object;
}
代码:
A* object = new A();
// Use object...
object->~A();
*object = createObject();