C++11重新评估参考问题
C++11 rvalue reference questions
我正在努力理解C++11的新特性,我有两个关于右值引用的问题。
-
我还没有看到函数返回右值引用的例子(除了
std::move
)。在某些情况下这样做有意义吗?例如int&& foo(...)
。 -
在声明局部变量或作为函数参数时,是否存在对const进行右值引用有意义的情况?例如
foo(int const&& i)
。
1) 我还没有看到函数返回右值引用的例子(除了
std::move
)。在某些情况下这样做有意义吗?
除了库函数只将其参数强制转换为右值引用(如std::move
,在适当的情况下,std::forward
)并返回该参数之外,我相信您不会经常遇到这种情况。
2) 是否存在对
const
进行重新赋值引用的情况?
不多。实际上几乎没有。当您想要绑定到最终想要移动的对象时,会使用Rvalue引用,并且由于您无法从const
对象移动(因为移动会改变您移动的对象的状态,而const
承诺相反),因此对const
进行右值引用没有什么意义。还要注意,对const
的左值引用也可以绑定到右值。不过也有一些使用案例。
相关文章:
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- C++ 而循环问题 Codecademy 参考 [已解决]
- 我有几个关于参考变量的问题
- MSYS2静态QT未定义的参考问题
- OPENCV筛选未定义的参考问题
- 有关参考和指针的问题
- Python C-API:PYDICT_GETITEM上的分割故障,可能的参考问题
- 参考类型静态数据成员的问题可能是编译器错误
- 通过参考问题
- 命名空间外部变量的未定义参考/多重定义,C 结构问题
- 关于通用参考和左值参考的问题
- 通过参考问题
- 矢量参考问题
- VS 2010构建问题:参考问题
- 课堂自我参考问题
- C++参考问题
- 未定义的参考问题
- C++11重新评估参考问题
- 使用boost::asio时的参考问题(我猜)