【发布时间】:2020-06-10 05:07:56
【问题描述】:
考虑以下函数。我想要 C++17 的答案。
MyClass&& func() {
return MyClass{};
}
int main() {
MyClass&& myRef = func();
}
问题:
- 表达式
func()是xvalue 吗?为什么? - 为什么
myRef是一个悬空引用?或者,更具体地说,为什么func()返回一个悬空引用?返回右值引用不会导致临时实现,并延长临时对象的生命周期吗?
【问题讨论】:
-
"表达式 func() 是 xvalue 吗?为什么?" ...为什么不是?
标签: c++ return c++17 rvalue-reference xvalue