我有一个类,用作用于测试的临时目录的句柄。它的用法如下:

{
    TestArea ta("name_of_test");
    ta.call_method( );
    test_stuff( );
    ...
}

当到达结束}时,ta变量超出范围,所有内容都将清除。在许多情况下,我不需要调用任何TestArea方法-这足够了:
{
    TestArea("name_of_test");
    test_stuff();
}

即没有与TestArea实例相关联的左值。现在我的问题是-什么时候在这个地方调用TestArea析构函数?后面的代码实际上似乎有效-但对此我有些不安。

最佳答案


TestArea("name_of_test");

您创建一个临时对象,该临时对象将立即被销毁。

因此,一旦使用该表达式的表达式结束,则该对象不再存在。

10-04 20:58