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