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