unique-ptr

    1热度

    1回答

    今天我是通过在Visual Studio C++实现的源代码挖掘和整个的std ::的unique_ptr的以下行绊倒: template<class _Ty,class _Dx> class unique_ptr<_Ty[], _Dx> 我明白的第一行。第二行让我感到惊讶。为什么类的名称背后有模板参数?那是什么意思?可能它与这是unique_ptr的数组变体有关吗?

    0热度

    1回答

    我得到了类,它包含的unique_ptr阵列下面的构造 template <class T> MyVector<T>::MyVector() : p_capacity(2), p_size(0) { p_array = std::make_unique<T[]>(p_capacity); } 我想在这样的成员方法后重新初始化,将旧的阵列到新的数组多数民众赞成在2倍大 templ

    2热度

    1回答

    我有一个类 class A { public: A(int x): x_(x) {} void SetValue(int m) {x_=m}; private: DISALLOW_COPY_AND_ASSIGN(A); }; 我试图创建A型 vector<std::unique_ptr<A>> objects; objects.reserve(10);

    0热度

    1回答

    我的代码如下所示: template<class T> class tree{ class node{ std::unique_ptr<node<T>> left; std::unique_ptr<node<T>> right; T data; }; }; 如何使“左”或“右”访问树类,而不存取或改变者?多种解决方案将不胜感激。

    6热度

    2回答

    我正在更新一些pre-C++ 11代码以使用C++ 11 unique_ptrs。 我不确定如何处理的一件事是旧代码使用指针分配作为条件。例如。 Object* obj; while (obj = C_LIBRARY_CALL_WHICH_RETURNS_NEW_OBJECT()) { // do something with obj delete obj; } 鉴于

    2热度

    1回答

    我很想问这是否是一种好的做法。让我们假设这样的场景: std::vector<unique_ptr<Model>> data; 它是安全与此向量(原始指针从向量中的每个的unique_ptr)的原始指针工作?我明白,当超过保留空间时,向量可能会重新分配数据,但只会影响unique_ptr的地址,而内部原始指针保证保持不变。 因此,通过使用这些原始指针而不是添加一些id成员来识别模型是否安全?

    0热度

    1回答

    略读通过TensorFlow C++ API我偶然发现了一个奇怪的函数签名: Status Create( const FileSystemStoragePathSourceConfig & config, std::unique_ptr<FileSystemStoragePathSource> *result ) 我不明白为什么result是一个原始指针unique_pt

    0热度

    1回答

    代码粘贴在下面的一些注释。我需要看一下std::priority_queue<std::unique_ptr<...>>的顶部,但是如果我调用.top(),则会出现编译器错误:“试图引用已删除的函数”。我知道我可以调用pop,但是我需要先根据值来做一些逻辑来确定是否要弹出它。 struct MyStruct { int val = 2; MyStruct(const int

    1热度

    3回答

    我在priority_queue中有一个unique_ptr,我想从该集合中移除它并将其放在deque上,同时保持unique_ptr的所有权语义。但我找不到一种方法将其从priority_queue中解脱出来,而不会出现编译错误:“尝试引用已删除的函数”。什么是正确的方式来实现这一目标? struct MyStruct { int val = 2; MyStruct(con

    9热度

    1回答

    为什么不按照我的假设工作? for (auto it: *std::make_unique<std::vector<int>>(std::vector<int>({1, 2, 3, 4, 5}))) std::cout << it << std::endl; 的矢量对象执行循环的第一次迭代之前销毁