unique-ptr

    3熱度

    2回答

    VS2010 用於調整大小我有具有unique_ptr內的結構不編譯。然後我有這個結構的vector。如果我嘗試調整矢量大小(或使用保留),則會出現編譯錯誤。下面是一個精簡的例子,它仍然存在這個問題。 struct Test { unique_ptr<int> pValue; }; void test() { // this doesn't compile

    11熱度

    2回答

    作爲後續到this後我不知道如何實現make_unique玩分配函數臨時緩衝區數組,如下面的代碼。 f() { auto buf = new int[n]; // temporary buffer // use buf ... delete [] buf; } 這能與一些呼叫make_unique更換,將刪除情況[] -version被繼續使用?

    15熱度

    2回答

    隨着c + + 11在那裏,我問自己是否有一個替代boost :: ptr_containers在c + + 11。我知道我可以使用例如一個std::vector<std::unique_ptr<T> >,但我不確定這是否是一個完整的替代品。處理這些案件的推薦方式是什麼?

    2熱度

    5回答

    我需要編寫一個函數來檢索和處理一些數據。該數據可以用幾種方式來分配(在數據段,在堆上,在一個共享內存段等): T *data; if(global) data = &d; if(heap) data = new T [ size ]; if(shm) data = (T*) shmat(id, 0, 0); // processing data ... 由於data可以動態地分配,我倒

    1熱度

    4回答

    是否有可能適應plain_ptr for plain c? 也許如果有一種方法來模擬調用malloc/free時調用自制的「構造函數/析構函數」? 它可行嗎?或者這只是一個愚蠢的想法?

    7熱度

    1回答

    我編寫了以下代碼,並且對於C++來說很新,而且感覺很笨拙。我試圖給'spriteBatch'(一個unique_Ptr)類作用域。這裏的頭文件: ref class CubeRenderer : public Direct3DBase { public: CubeRenderer(); ~CubeRenderer(); private: std::uniq

    2熱度

    1回答

    我最近開始將許多現有的類遷移到使用智能指針,並且我有幾個關於如何移植一些我認爲可以從使用智能指針中受益的代碼的問題(但我當然可能是錯的)。我有一個UtlMemBuffer緩衝區管理器類,通過它的頭文件顯示如下。 本質上,這個類擁有一個由void */length對組成的緩衝區向量。緩衝區管理是通過一個輔助方法實現的(UtlMemBuffer :: append - 其實現也在下面顯示)。 我想讓這

    18熱度

    2回答

    我想這是尷尬的,如果我告訴你我不能得到這個編譯。請你幫幫我: #include<memory> using namespace std; int main() { std::unique_ptr<int> p1(new int(5)); return 0; } $ gcc main.cpp main.cpp: In function ‘int main()’:

    8熱度

    6回答

    我有一個由指向指針的指針分配的double數組。 // pointer to pointer int **x = new int *[5]; // allocation for (i=0; i<5; i++){ x[i] = new int[2]; } for (i=0; i<5; i++){ // assignment for

    13熱度

    3回答

    我在Win32 API CommandLineToArgvW返回一個LPWSTR*和 警告我說, CommandLineToArgvW分配的連續內存塊的指針 的說法字符串,爲參數字符串 自己;當調用應用程序不再需要時,調用應用程序必須釋放參數列表所使用的內存。要釋放內存,請使用 單次調用LocalFree函數。 見 http://msdn.microsoft.com/en-us/library/w