我们知道当(非静态)对象用完声明范围时会自动调用析构函数。但是如果我们明确地调用析构函数呢?
所以我有这段代码:
class A
{
public:
A(){std::cout<<"A's ctor"<<std::endl;}
~A(){std::cout<<"A's dtor"<<std::endl;}
};
int main()
{
A a;
a.~A();
}
它输出:
A's ctor
A's dtor
A's dtor
这是否意味着对象被破坏了两次?