标签: c++ c++11 visual-c++
class A { public: A() { } A(A ©) { } }; void foo(A a) { } int main() { foo(A()); }
在复制构造函数结束后或函数foo结束后,是否会删除通过调用A()生成的临时实例?
A()
答案 0 :(得分:3)
临时在完整表达式结束时被销毁。这意味着在foo返回后。
foo
full-expression是一个表达式,它不是另一个表达式的子表达式。