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

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

Patricia Arquette
发布: 2024-12-11 10:39:15
原创
1122 人浏览过

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

常量右值引用:实用视角

在 C 中,人们可能会质疑对 const 对象的右值引用的实用性。为了更深入地研究这个主题,让我们分析这个问题:“假设 Foo 是一个类类型,const Foo& & 是否有优势?”

令人惊讶的是,const 右值引用提供了明显的好处。 C 0x 草案本身在以下代码中举例说明了它们的用法:

template <class T> void ref(const T& &) = delete;
template <class T> void cref(const T& &) = delete;
登录后复制
登录后复制

这些重载有效地防止其他函数(例如 ref(T&) 或 cref(const T&))绑定到右值对象。这保证了这些函数的预期行为。

在未公开发布的官方标准文档 N3290 中,第 20.8 节中存在相同的代码:

template <class T> void ref(const T& &) = delete;
template <class T> void cref(const T& &) = delete;
登录后复制
登录后复制

此外,在在最新的草案 N3485 中,这些 const 右值引用重载仍然出现在第 20.8 节中,强调了它们的持续存在

因此,虽然人们一开始可能认为 const 右值引用缺乏实用性,但它们在 C 标准和其他上下文中的实际应用强调了它们的重要性。

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

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