rvalue

    -1熱度

    1回答

    如何判斷一個指針是RValue還是我不知道我在說什麼..這個真正荒謬的想法一邊喝着啤酒一邊衝進我的腦海...... 如果你有一個愚蠢的程序員/用戶.. 假設你有下面的類: template<typename T> class Container { private: std::vector<T> Storage; public: Container(

    6熱度

    2回答

    當我在閱讀http://thbecker.net/articles/rvalue_references/section_01.html時,我得到了以下snippiest。 // lvalues: // int i = 42; i = 43; // ok, i is an lvalue int& foo(); foo() = 42; // ok, foo() is an lvalue i

    6熱度

    2回答

    我知道在C++ 03中,非const引用不能綁定到右值。 T& t = getT();是無效的,在C++ 11中,我們可以這樣做:T&& t = getT();但上面的代碼應該如何在C++ 11中工作? 我測試的代碼下面VS11: Foo getFoo() { return Foo(); } void fz(Foo& f) { } int getInt() { re

    1熱度

    2回答

    我有一個代碼,必須處理rvalued stl容器。 我的問題是:爲什麼從rvalued-STL容器返回一個元素,就像在成員函數: vector<int>{1}.front() 回報左值和右值不? Standard指定rvalue對象的成員是右值。我知道我可以用std::move顯式移動返回的元素。但是,當返回值顯示右值時,具有左值返回類型的邏輯是什麼? 如果你會用這樣的表達一些valuness

    0熱度

    1回答

    我已閱讀,下面的代碼是有效的在C++ 11: int && a = 3; a = 4; 它是否應該寫入存儲器地址4,其中的數字文字3被存儲?也許一些編譯器優化可以防止這種情況發生,但它應該這樣做嗎?

    -2熱度

    5回答

    在C/C++中命名「左值」和「右值」的原因是什麼(我知道它們是如何工作的)?

    3熱度

    4回答

    #include<iostream> using namespace std; int fun(int &x) { return x; } int main() { cout << fun(10); return 0; } 任何人都可以解釋錯誤的原因嗎? 感謝

    6熱度

    2回答

    我正在試驗新添加的右值引用(在vs2012 express中)。 我不明白什麼東西。鑑於下面的代碼(大部分來自C++標準,其中解釋了std :: forward)。 struct A { A(int& i, const float& j): m_i(i), m_j(j){} int& m_i; const float& m_j; };

    1熱度

    1回答

    #include<iostream> struct Foo { }; void func(Foo& f) { std::cout << "foo" ; } int main() { func(Foo());//ok compile std::cin.ignore(); return 1; } 標準不說這個王的東西是不合法的嗎?這

    1熱度

    1回答

    我想再次做一些奇怪的事情。 好的,這裏是一般的想法。我想要一個std::list(和vector等),它們實際上擁有它們包含的對象。我想將的值移入它,並通過引用訪問它們。 例使用的unique_ptr的列表: using namespace std; list<unique_ptr<T>> items; // T is whatever type items.push_back(make_u