临时实例的生存期是多少
What will be the lifetime of temporary instance?
class A
{
public:
A()
{
}
A(A ©)
{
}
};
void foo(A a)
{
}
int main()
{
foo(A());
}
通过调用A()
生成的临时实例是在复制构造函数结束后还是在函数 foo 结束后删除?
临时在完整表达式结束时销毁。这意味着在foo
回来之后。
完整表达式是不是另一个表达式的子表达式的表达式。
相关文章:
- GCC对可能有效的代码抛出init list生存期警告
- 在不复制临时对象的情况下延长其生存期
- 结束另一个线程中使用的对象的生存期
- "this"指针的值在对象的生存期内是否恒定?
- 创建具有全局生存期的 UObject
- C++17 和静态临时生存期的参考扩展
- 数组对象的生存期是否在重用其元素存储时结束?
- 共享指针生存期
- 具有空洞初始化的对象的生存期
- 如何在向量列表初始化时避免对象复制以及如何延长临时的生存期
- 指针引用的生存期(以 C++为单位)
- 子表达式中临时对象的生存期
- 临时实例的生存期是多少
- thread_local 和 std::future 对象 - 对象的生存期是多少
- 范围内临时对象的生存期是多少?
- 作为参数立即传递的对象生存期是多少
- 临时绑定到引用参数的默认参数的生存期是多少
- 块内变量的生存期是多少
- 单例类的成员变量的生存期是多少?
- std::string::c_str()的结果的生存期是多少