unique-ptr

    7熱度

    3回答

    我目前正在將auto_ptr的實例轉換爲unique_ptr,但是我遇到了問題。它在代碼的C++部分很好用,但是當我在託管的C++/CLI層(該軟件同時使用C#和C++)中執行時,會出現鏈接錯誤。它編譯好,但在鏈接時斷開。 auto_ptr從來沒有任何問題。 我目前正在使用Visual Studio 2010.有誰知道在C++/CLI中使用unique_ptr有任何問題嗎? 我試着在下面的一段代碼

    11熱度

    4回答

    假設我有以下代碼: class B { /* */ }; class A { vector<B*> vb; public: void add(B* b) { vb.push_back(b); } }; int main() { A a; B* b(new B()); a.add(b); } 假設在這種情況下,所有的原始指針B*

    7熱度

    1回答

    我是C++ 11中的一些代碼。我有 class X { /* */ }; class A { std::vector<X*> va_x; }; class B { std::vector<X*> vb_x; std::vector<A> vb_a; }; 「va_x」我的A級點內的X * s到對象也在我的B類中指出,通過「vb_x」的X * S現在 我

    1熱度

    1回答

    我正在開發的代碼試圖避免處理裸指針,但我想添加一些基於事件的功能 - 我也會在這裏使用智能指針,但據我瞭解,這意味着該event_base將被刪除使用刪除運算符而不是event_base_free,如我迄今爲止所看到的所有示例。這安全嗎?我可以使用unique_ptr(event_base_new())而不用擔心它嗎?

    1熱度

    3回答

    下面的代碼將拋出一個警告: 警告C4239:使用非標準擴展: '參數':從 '的std ::的unique_ptr < _Ty>' 到 '的std ::的unique_ptr < _Ty> &' 轉換 std::unique_ptr<T> foo() { return std::unique_ptr<T>(new T); } std::unique_ptr<T> myVar; myVar.sw

    19熱度

    3回答

    是unique_ptr線程安全嗎?下面的代碼不可能兩次打印相同的數字嗎? #include <memory> #include <string> #include <thread> #include <cstdio> using namespace std; int main() { unique_ptr<int> work; thread t1([&] {

    4熱度

    2回答

    我包裝使用JNI一些C++代碼,偶然發現了以下工廠函數: std::unique_ptr<MetricPlanner> create_metric_planner(*arguments*) 我需要一個參考傳遞給規劃者這個函數創建回Java以供以後使用,但我對 a)如何將其傳回,以及 b)當它傳遞時會發生什麼。 通常情況下,我已經通過像這樣: Director *DIRECTOR = new D

    17熱度

    3回答

    我正在創建一個與某些Windows API代碼互相干擾的類,現在我必須通過調用初始化它的本地函數來初始化其中一個指針。 我的指針的類型爲std::unique_ptr,帶有一個自定義的刪除器,它調用了提供的WinAPI刪除器函數,但是我無法將unique_ptr與address-of運算符一起傳遞給init函數。爲什麼? 我已經創建了一個演示我問題的一個樣本: #include <memory>

    0熱度

    2回答

    有沒有更簡單的方法來訪問Derived類中的成員函數GetJ(),而不是在下面第二個std::cout中選擇的成員函數GetJ()? #include <iostream> #include <memory> class Base { int i; public: Base(int k) : i(k) {} int GetI() { return

    0熱度

    1回答

    原始內存我想有它管理原始內存與此API template<class allocator = std::allocator<char> > class raw_memory { static_assert(std::is_same<char, typename allocator::value_type>::value, "raw_memory: allocator