smart-pointers

    1熱度

    3回答

    我有一個類處理許多巨大的搜索過程(開始,停止,等等)。 class CSearch { public: CSearch(); ~CSearch(); bool Start(); bool Stop(); }; 我是一個有點困惑從這樣調用Start功能: CSearch search; search.Start(); 或者這樣: std::u

    0熱度

    1回答

    我正在開發一個內存泄漏的庫。該庫是一個基於boost :: asio構建的數據流服務。服務器端使用堆內存管理系統,該系統提供內存以保存有限數量的samples,同時等待通過tcp連接進行推送。當第一次構建服務器時,將爲所有舊的sample分配一堆內存。從這個堆中,在穿過套接字傳遞一個sample之後,內存將返回到堆中。 這很好,除非所有預先分配的堆已被佔用。下面是創建一個「樣本」的功能: samp

    0熱度

    1回答

    我剛剛閱讀了關於智能指針,所以我想做一個真正的演示示例,因此我創建了下面的DLL代碼,問題是節點放置正確,所有,但節點內存不得到釋放,不知道我做錯了什麼。據我瞭解,當範圍用完時,節點必須自動刪除。如果我錯了,請糾正我。 原始代碼: #include <iostream> #include <memory> using namespace std; template <typename T>

    -1熱度

    2回答

    我有一個基類 class Base { public: virtual void func() = 0; } 我有一個具體的派生類 class Derived : public Base { public: void func() {func2();} void func2() {}; } 最後,我有一個派生類 class Derive

    4熱度

    3回答

    我有一些處理對象創建和銷燬的C API,它提供了:createObject(...)和destroy(...)。我想將它包裝到一些更現代化的構建/銷燬機制中,並將它們與智能指針一起使用。我恐怕在某些時候我會忘記摧毀這個物體,否則會發生一些異常。 我知道定製刪除功能shared_ptr,但我不能明確地調用new,因爲createOjbect函數處理初始化。 我可以在這種情況下使用STL智能指針嗎?我

    1熱度

    2回答

    我正在重新使用我的遊戲引擎來使用smart-pointers。我有一個Object類,一切都從繼承。我有一個可以渲染的遊戲對象,因此它繼承自IRenderable(定義純虛擬渲染函數的類),並且不會從對象繼承。我有一個RenderSystem,它應該在場景中持有shared_ptr以適應所有可以進入的狀態。 我的問題是如何將我的GameObject shared_ptr投射到RenderSyste

    0熱度

    1回答

    我創建了一個智能指針項目類似https://www.codeproject.com/Articles/15351/Implementing-a-simple-smart-pointer-in-c自學我不想使用std::shared_ptr,我不希望使用weak_ptr或unique_ptr 小型項目的版本 http://cpp.sh/957bl 現在我想擴大項目,並創建一個interface,使對

    -2熱度

    3回答

    結果我期望test1.cpp和test2.cpp發出類似的結果。 相同的打印每次運行,因爲沒有內存泄漏.. 但它沒有。我不知道爲什麼。 請你讓我知道它是如何理解這種情況。 test1.cpp #include <iostream> #include <memory> using namespace std; class Class { public: shared_ptr<in

    0熱度

    1回答

    我想返回一個std::vector內的實體,但編譯器告訴我,我正在引用已刪除的函數。 vector<unique_ptr<Node>> children; //member of a class unique_ptr<Node> Node::selectNext() { //function for a class for (int i = 0; i < children.size

    0熱度

    1回答

    略讀通過TensorFlow C++ API我偶然發現了一個奇怪的函數簽名: Status Create( const FileSystemStoragePathSourceConfig & config, std::unique_ptr<FileSystemStoragePathSource> *result ) 我不明白爲什麼result是一個原始指針unique_pt