临时实例的生命周期是什么?

时间:2017-05-26 15:19:13

标签: c++ c++11 visual-c++

class A
{
public:
    A()
    {

    }
    A(A &copy)
    {

    }
};
void foo(A a)
{

}
int main()
{
    foo(A());
}

在复制构造函数结束后或函数foo结束后,是否会删除通过调用A()生成的临时实例?

1 个答案:

答案 0 :(得分:3)

临时在完整表达式结束时被销毁。这意味着在foo返回后。

  

full-expression是一个表达式,它不是另一个表达式的子表达式。