rvalue

    9热度

    5回答

    有人可以向我解释为什么这两个语句有区别吗? class A{}; const A& a = A(); // correct A& b = A(); // wrong 它说,从临时型A 的A&类型的非const引用 无效初始化为什么const事吗?

    5热度

    2回答

    了解右值和临时对象之间的区别花了我相当长的一段时间。但现在75页的最终状态委员会草案: 的右值 [...] 是的x值,临时对象或其子对象,或者是不具有关联的值目的。 我不敢相信我的眼睛。这一定是一个错误,对吧? 要澄清一下,这里就是我所理解的术语: #include <string> void foo(std::string&& str) { std::cout << str <<

    4热度

    5回答

    如何判断给定的参数是否是C++ 03中的右值?我正在写一些非常通用的代码,并且如果可能的话需要参考,否则就构建一个新的对象。我可以通过重载以及通过引用来重载,并让右值返回调用by-value函数吗? 还是我有一个非常令人作呕的感觉,这就是为什么右值引用是在C++ 0x? 编辑: is_rvalue =(is_reference || is_pointer)!?

    3热度

    2回答

    GNU gcc 4.3部分支持即将推出的C++ 0x标准:在实现的功能中右值引用。通过右值引用,应该可以移动不可复制的对象或从函数中返回它。 std :: streams是否已经移动通过右值引用还是当前的库实现缺少一些东西?

    33热度

    2回答

    §3.10第9节说“非等级rvalues总是具有cv-不合格类型”。这让我不知道...... int foo() { return 5; } const int bar() { return 5; } void pass_int(int&& i) { std::cout << "rvalue\n"; } void pass_int(const

    4热度

    5回答

    我不会命名的C++编译器可以让您获取文字的地址,int * p = & 42; 显然42是一个r值,大多数编译器拒绝这么做。 为什么编译器会允许这个?除了用脚踢自己,你还能做什么?