我用这段代码在C++中试验析构函数:
#include <iostream>
struct temp
{
~temp() { std::cout << "Hello!" << std::endl; }
};
int main()
{
temp t;
t.~temp();
}
Run Code Online (Sandbox Code Playgroud)
我看到"你好!" 正在打印两次.不应该调用析构函数释放对象,并且当它超出范围时不应该再次调用析构函数吗?或者还有其他一些概念吗?
(我不打算在实践中这样做.我只是想了解这里发生了什么.)