首页 >后端开发 >C++ >Const Rvalue 引用在 C 中有实际用途吗?

Const Rvalue 引用在 C 中有实际用途吗?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-23 18:16:13399浏览

Do Const Rvalue References Have Any Practical Use in C  ?

Const 右值引用:一个罕见但有用的概念

const 的右值引用(const Foo&&)是否有任何实际用途的问题让一些程序员感到困惑。从直觉上看,它们不会,但让我们更深入地研究这个主题并探索潜在的应用程序。

根据 C 0x 草案,常量右值引用在某些情况下可能是有益的。例如,在草案本身使用的以下代码片段中:

template <class T> void ref(const T&&) = delete;
template <class T> void cref(const T&&) = delete;

这些重载确保其他 ref(T&) 和 cref(const T&) 函数不会绑定到右值,从而防止意外行为。

检查官方 C 11 标准(N3290)后,可以在第 20.8 节“函数对象”中找到相同的声明[function.objects]/p2:

template <class T> void ref(const T&&) = delete;
template <class T> void cref(const T&&) = delete;

最新公开的 post-C 11 草案 (N3485) 也在同一部分中包含这些声明。这些示例表明 const 右值引用已被认为足够有用,可以包含在 C 语言标准中。虽然它们的用例可能是特定的,但它们为某些编程情况提供了有价值的构造。

以上是Const Rvalue 引用在 C 中有实际用途吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn