unique-ptr

    0热度

    3回答

    我对在VC++ 2015中看到的结果感到惊讶,并且需要帮助了解它是如何工作的。 struct MyType { MyType(int x_) : x(x_) { } int x; }; auto u = std::make_unique<MyType>(10); void* pv = &u; 这显然失败了,因为u的地址不是一个指向MyType: MyType *p

    0热度

    1回答

    如果我有一个正在管理std::unique_ptr的向量的类,那么管理此资源的正确方法是什么?我有一个最低工作示例。但是,运行此代码时会出现分段错误。我想这是因为main参考bin得到的std::move在AContainer::addValue D,但我不知道肯定,我不知道如何测试这种假设。 #include <memory> #include <vector> #include <iost

    2热度

    1回答

    我已经阅读了关于同一主题的多个类似问题,但我无法通过关注它们来解决问题。 我想存储指向矢量,但我看到内存泄漏。我的代码如下。 #include <iostream> #include <vector> #include <memory> class Base { public: virtual ~Base() {} }; class Derived : pub

    -3热度

    1回答

    我有一个函数返回一个unique_ptr到数组元素,我注意到原始变量没有得到更新。 为什么这项工作(一[5] == 6后): int a[10]; for (size_t i = 0; i < 10; i++) { a[i] = i; } int* ap = &a[5]; *ap += 1; 但 int a[10]; for (size_t i = 0; i <

    1热度

    1回答

    我有一些C++代码如下所示: #include <memory> void do_memory() { std::unique_ptr<int[]> ptr = std::make_unique<int[]>(50); int* ptr2 = new int[50]; delete[] ptr2; } 在第一种情况下,我创建一个唯一的指针为int阵列,并

    0热度

    1回答

    有关的unique_ptr缺失者的类型是智能指针的一部分,但如何是帮助编译器相比,shared_ptr的产生更小的运行时数据结构和独特的_ptr更快的代码?

    -1热度

    1回答

    我有一个C++项目,它使用了包括std :: make_unique在内的一些C++ 14功能。 该项目编译和运行良好,并做了一段时间,但是,现在我想添加一个python界面,我有一些麻烦。 在我的Python扩展我试图声明我的C++类作为唯一使用: #include <memory> ... typedef struct { PyObject_HEAD std::uniq

    0热度

    1回答

    我在试图删除QTreeWidgetItem的代码中遇到一个奇怪的问题。特别是,我有这个在我的课: std::map<int, std::unique_ptr<QTreeWidgetItem>> mymap; 当我关闭应用程序,我有段错误,该unique_ptr的默认析构函数中。于是,我尝试将问题分解,和我创建一个析构函数执行以下操作: ~MyClass() { for (auto x

    1热度

    1回答

    我在其他地方搜索了这里,找到了解决我的问题和疑虑的方法,但没有找到任何答案。 限制条件: 我使用C++ 11一个嵌入式设备上。 我不能使用std::string 我不能使用std::make_unique()(但我可以用std::unique_ptr与new) 我不能使用strcpy_s() 问题我有 我遇到的主要问题是在AvailableZones::upsertZone方法中,如果它尚未存在(

    2热度

    2回答

    多年后回到C++;试图追赶C++ 11 & 14.我读过rvalues和移动语义。我以为我理解了这个概念。显然不是。我看了几十个例子。但我根本无法让我的代码编译。我必须在示例中错过某些明显的东西。由于unique_ptr<int>有一个用户声明的移动ctor,我总是会得到有关复制ctor被删除的错误。显然我对这个概念缺少了一些东西,但我无法弄清楚它是什么。这里的代码,精简到它的本质: #inclu