rvalue-reference

    0熱度

    2回答

    我正在使用C++ 11一個工廠模式,其是在我的主()函數的範圍和被調用這樣的: histogram_requests -> AddNewPostfix(Postfix_factory :: get_postfix("Layers", ntuple_reader)); 的Postfix_factory :: get_postfix()是一個靜態成員函數,返回std :: unique_ptr <

    4熱度

    1回答

    考慮下面的代碼: int main() { int i{}; auto& c = static_cast<const int&&>(i); // (1) auto& v = static_cast<volatile int&&>(i); // (2) } 雖然(1)編譯成功,(2)不被接受: error: volatile lvalue reference t

    3熱度

    2回答

    我試圖從一個函數構造一個對象,然後將它傳遞給使用它的函數(並使用它)。下面是我沒有直接使用從createObject右值引用,因爲我將回到釋放的內存參考代碼 std::unique_ptr<Object> createObject() { auto myobj = std::make_unique<Object>(); .. modify myobj .. retur

    1熱度

    2回答

    我目前想實現一個非常小的嵌套異常機制在我的代碼,如std::nested_exception s爲並不適用於所有的編譯器,我必須編譯我的代碼。 我遇到以下有用的嵌套包裝在gcc implementation source code傳來: template<typename _Except> struct _Nested_exception : public _Except, public nes

    5熱度

    2回答

    當我有看起來像這樣的代碼: template<class T> void f_(const T& arg) { cout << "void f(const T& arg): Cannot modify\n"; } template<class T> void f_(T&& arg) { cout << "void f(T&& arg): Can modify\n"

    2熱度

    1回答

    我正在嘗試編寫一個函數,它只接受通過const引用傳遞的左值Eigen表達式。我的第一個想法是隻保留過載const Eigen::MatrixBase<Derived>&和deleteEigen::MatrixBase<Derived>&&之一。令我驚訝的是,delete d函數不是超載候選集的一部分。所以,我試圖下面 #include <iostream> #include <Eigen/De

    3熱度

    3回答

    對於下面的程序代碼,我必須在接收右值和左值引用的成員函數對內編寫相同的代碼。 我的目標是隻使用一對(例如:只使用接受值的右值)和其他值。據我瞭解,我讀了std::forward的參考資料,看起來就是爲了這個目的。但是,當我刪除左值參考,我得到以下編譯器錯誤。 '的TestClass :: TestClass的(常量的TestClass &)':無法從 '的std :: wstring的' 轉換參數

    3熱度

    1回答

    我可以知道這段代碼爲何有效。謝謝。 double i=5;//int i=5 will invalidate this piece of code int && r1=i; std::cout<<r1<<std::endl;

    3熱度

    1回答

    Scott Meyers在this talk at 44:15說const在C++ 0x標準庫中使用Rvalue引用來捕獲某些不應該編譯的重載。 用於說明上述觀點的代碼片段會有所幫助。謝謝。

    4熱度

    2回答

    請原諒我對此主題的不清晰。我正在嘗試創建將大類插入向量的函數。在這個例子中,我使用ints作爲大類。 #include <vector> #include <iostream> using namespace std; vector<vector<int>> vectorOfVectors; void fn(const vector<int> &v) { vectorOfVe