unique-ptr专题提供unique-ptr的最新资讯内容,帮你更好的了解unique-ptr。
我有一个类的构造函数,该类用于向该类初始化一个unique_ptr,并传递一个值.由于某种原因,valgrind抱怨内存泄漏: 22,080 (24 direct, 22,056 indirect) bytes in 1 blocks are definitely lost in loss record 6 of 6 at 0x4C2C7A7: operator new(unsigned l
当您有一个unique_ptr与引用存储的自定义删除程序成像时: struct CountingDeleter { void operator()(std::string *p) { ++cntr_; delete p; } unsigned long cntr_ = 0; }; int main() { CountingDele
所有, 当我使用初始化列表格式实例化窗口小部件数组时,指向成员变量窗口小部件实例的裸指针编译但在更改为std :: unique_ptr<>之后gcc给出了有关已删除函数的编译错误. $uname -a Linux .. 3.5.0-21-generic#32-Ubuntu SMP Tue Dec 11 18:51:59 UTC 2012 x86_64 x86_64 x86_64 GNU / Li
尝试在工会中使用unique_ptr时,当我尝试std :: move或std :: make_unique时,会给我一个segfault. #include <iostream> #include <memory> union myUnion{ struct{std::unique_ptr<float> upFloat;}structUpFloat; struct{std::u
我们最近在使用自定义删除器从unique_ptr转到shared_ptr时遇到了一个崩溃.当用于创建智能指针的指针为空时,发生崩溃.以下是重现问题的代码,并显示两种情况. 在下面的源代码中,One和Two运行愉快,而“ReleaseDestroy”中的三个崩溃.当智能指针中使用的类具有虚拟“释放”时,崩溃似乎正在发生,因此程序正在尝试查找V-Table. unique_ptr看起来像检查空指针并且
我有一个类层次结构如下: class BaseSession : public boost::enable_shared_from_this<BaseSession> class DerivedSessionA : public BaseSession class DerivedSessionB : public BaseSession 在派生类函数中,我经常调用这样的函数: Func(boost
通常转发std :: unique_ptr的正确方法是什么? 以下代码使用std :: move,我认为这是被考虑的做法,但是它与cl it崩溃. class C { int x; } unique_ptr<C> transform1(unique_ptr<C> p) { return transform2(move(p), p->x); // <--- Oops! could a
现在我首先了解unique_ptr<>的一般问题和前进的声明如 Forward declaration with unique_ptr?. 考虑这三个文件: 啊 #include <memory> #include <vector> class B; class A { public: ~A(); private: std::unique_ptr<B> m_tilesets;
我在代码中使用boost :: scoped_ptr,我想用std :: unique_ptr替换它.我想知道移动到std :: unique_ptr是否有任何缺点. Boost可跨平台和编译器移植.但我不确定C 11是否支持所有编译器,如MSVC.我知道GCC和Clang很好地支持C 11. 我已经阅读了SO问题“intrusive_ptr in C++11”,其简短回答是“否”.因此,如果有人