cppreference说:当引用绑定到prvalue时会创建一个临时对象。它们是指const lvalue引用和rvalue引用吗?:
当一个prvalue被物化时会创建临时对象,以便它可以作为glvalue使用,这种情况在以下情况下发生(自C++17):
如果它们意味着,rvalue引用和绑定到相同类型的prvalue的const lvalue引用是否会创建一个临时的?我是说,这是真的吗?
const int &x = 10; // does this creates temporary?
int &&x2 = 10; // does this creates temporary?发布于 2022-02-15 01:02:16
唯一允许绑定到对象rvalue (包括prvalue)的引用是rvalue引用和const非volatile lvalue引用。当这种绑定发生在prvalue上时,就会物化一个临时对象。因此,在“任择议定书”的两个例子中都出现了临时物化:
const int &x = 10;
int &&x2 = 10;当x超出范围时,第一个临时的(值为10)将被销毁。第二个临时值(也是值10,尽管可以使用x2修改其值)将在x2超出作用域时被销毁。
https://stackoverflow.com/questions/71119987
复制相似问题