首页 > 后端开发 > C++ > `const Foo&&` 右值引用什么时候有用?

`const Foo&&` 右值引用什么时候有用?

DDD
发布: 2024-12-09 19:00:22
原创
607 人浏览过

When Are `const Foo&&` Rvalue References Useful?

对 Const 的右值引用:实用视角

尽管人们普遍认为对 const (const Foo&&) 的右值引用没有任何用处,但确实是它们的实际应用,正如 C 0x 草案所证明的那样

C 0x 草案在各种实例中使用此类引用,以防止将右值不必要地绑定到其他 ref(T&) 和 cref(const T&) 函数。这些函数专门设计为仅接受左值(对对象的引用),以及对 const 的右值引用,以确保右值(对临时对象的引用)不会被错误地绑定。

最近,在审查官方标准 N3290(未公开)时,可访问),我们在 20.8 函数对象 [function.objects]/p2:

template 中发现了以下行 void ref(const T&&) = delete;
模板 ; void cref(const T&&) = delete;

对最新的 post-C 11 草案 N3485(公开可用)的进一步检查确认了 20.8 函数对象 [function.objects]/p2 中这些行的持久性.

这些示例说明了在某些情况下对 const 的右值引用的有用性,特别是在确保函数重载的正确行为时并防止意外绑定右值。

以上是`const Foo&&` 右值引用什么时候有用?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板