rvalue-reference

rvalue-reference

文章 0 浏览 3

Visual Studio 2010 中的右值引用

Visual Studio 2010 中实现的右值引用与 C++11 中指定的右值引用之间有什么区别?在 Visual Studio 2010 中使用重值引用时是否有任何需要注意的特定陷…

凉世弥音 11-30 13:11 1 0

使用右值引用重载

完美转发真是太棒了。但是,如果我想要不完全转发而只是重载恰好是模板类型的东西,我该怎么办? template void foo(T&& ref); template void foo(con…

简单 11-29 20:55 2 0

什么是函数类型的右值引用?

我最近关注了 C++0x 的左值、x值和纯右值以及右值引用的概念。然而,有一件事仍然让我困惑: 什么是“对函数类型的右值引用”?草稿中确实多次提到了…

季末如歌 11-29 08:04 1 0

局部变量的引用崩溃

在 T 上参数化的函数模板中,类型 T&& 可能是也可能不是右值引用,具体取决于参数的值类别: template void function(T&& x) { // ... } std::string …

彻夜缠绵 11-29 04:41 1 0

RValue、模板解析和复制构造函数(在 Visual C++ 2010 中)

我正在构建一个简单的容器类,但遇到了一些问题(重新组装 Visual C++ 中的问题2010,右值引用错误?) #include #include template class MyType { p…

左耳近心 11-28 20:08 2 0

模板类型推导问题

我有一个 variant 类。它有一对构造函数: /// Construct and fill. template inline variant (const T& t) { YYASSERT (sizeof (T) <= S); new (buff…

弄潮 11-28 10:55 1 0

命名右值引用的类型是什么?

考虑下面的代码: int&& x = 42; static_assert(std::is_same::value, "&&"); static_assert(std::is_same::value, "&" ); 那么,x 的类型是什么?它…

糖粟与秋泊 11-26 17:55 2 0

移动语义——它到底是什么?

可能的重复: 有人可以向我解释一下移动语义吗? 有人可以指出吗 ?我找到了一个好的来源或在这里解释一下移动语义是什么?…

蘑菇王子 11-26 07:33 0 0

移动操作的条件编译

如何检查我的编译器是否支持右值引用?是否有标准的预处理器宏,或者不同的编译器有不同的宏?理想情况下,我想这样写: #ifdef RVALUE_REFERENCES_SU…

如此安好 11-17 03:05 3 0

为什么在这个人为的示例中没有调用移动构造函数?

GetPerson 的未命名返回值不应该绑定到移动构造函数吗? person.hpp #ifndef PERSON_H #define PERSON_H #include struct Person { Person(std::strin…

蘑菇王子 11-11 02:08 3 0

当最后一次使用可移动对象时,编译器是否会自动使用移动语义?

我最近一直在研究右值引用,并得出结论,在将创建对象的完整副本的任何地方使用按值传递是非常有利的(有关完整的理由,请参见例如 添加右值引用运算…

愛上了 11-09 12:16 3 0

按值返回时值参数是否隐式移动?

考虑以下函数: Foo foo(Foo x) { return x; } return x 会调用复制构造函数还是移动构造函数吗? (让我们把 NRVO 放在一边。) 为了进行调查,我编…

小清晰的声音 11-07 12:18 5 0

R 值引用重载和代码重复

请考虑以下事项: struct vec { int v[3]; vec() : v() {}; vec(int x, int y, int z) : v{x,y,z} {}; vec(const vec& that) = default; vec& operato…

热鲨 11-07 11:16 4 0

运算符重载允许使用右值捕获但不能分配给

是否可以设计以及如何为我的类 C 重载 operator+ 来实现这一点: C&& c = c1 + c2; 但这不可能: c1 + c2 = something; 编辑: 我把物体改成了小写字…

构建复合对象时消除不必要的副本

我正在考虑开发一些命名参数代码,但这让我想到了一些如下代码: #include int main() { using std::make_pair; auto x = make_pair(1, make_pair(2, …

若有似无的小暗淡 11-04 16:06 7 0
更多

推荐作者

慕巷

文章 0 评论 0

浅生活

文章 0 评论 0

bal

文章 0 评论 0

lqwuliang

文章 0 评论 0

后来的我们

文章 0 评论 0

更多

友情链接

我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文