C++将 unique_ptrs 的向量作为参数传递给另一个等长向量的相应元素(尤其是并行)
我有: ObjectA 的 unique_ptr 向量 ObjectB 新默认构造的向量的向量,以及 对象 B 中具有签名 void f(unique_ptr o) 的函数。 (从这里开始省略了“…
传递 unique_ptr 数组的正确方法是什么?
如果我不需要副本,这是传递 unique_ptr 数组的正确方法吗? 换句话说,我希望 x 发生的所有事情都会影响调用者中的 arr 。 void doWork( unique_ptr …
如何将 unique_ptr 参数传递给构造函数或函数?
我是 C++11 中移动语义的新手,不太清楚如何处理构造函数或函数中的 unique_ptr 参数。考虑此类引用自身: #include class Base { public: typedef un…
C++如何使用 lambda 函数对 unique_ptrs 向量进行动态排序?
所以我有一个 std::vector> vec 并且我正在尝试对其进行动态排序,因为 Derived1 与 Derivedn 之间存在逻辑比较(Derived1 始终 > Derivedn-1 > ... >…
C++0x unique_ptr 误解?
在 N2812 中是一个示例简介,其中将unique_ptr作为值参数给出。 void push_back2( std::list>& l, std::unique_ptr a) { l.push_back(a); // oops: mo…
make_unique 完美转发
为什么标准 C++11 库中没有 std::make_unique 函数模板?我觉得 std::unique_ptr p(new SomeUserDefinedType(1, 2, 3)); 有点啰嗦。下面这样不是更好…
如何通过指针从容器中删除 unique_ptr?
使用 unique_ptr 创建对象并赋予容器所有权是没有问题的。如何通过原始指针删除元素? std::set> mySet; MyClass *myClass = new MyClass(); mySet.in…
unique_ptr和shared_ptr之间的区别
可能的重复: pimpl:shared_ptr 或 unique_ptr 智能指针(boost)解释 有人可以解释shared_ptr和unique_ptr之间的区别吗?…
STL 旋转 unique_ptrs 的 const_iterators
我在 unique_ptr 中间的 const_iterator 上使用 std::rotate 时遇到问题。 我已经尝试过: std::vector >::const_iterator middle; // middle is poin…
智能指针可以与使用 new T[] 分配的数组一起使用吗?
智能指针如何处理数组?例如, void function() { std::unique_ptr my_array(new int[5]); } 当 my_array 超出范围并被破坏时,整个整数数组是否会被…
初始化列表中的闭包删除器 (C++0x) 和编译器警告
我从 Visual C++ 2010 收到 警告 C4355: 'this' :used in base memberinitializer list: 我有一个持有句柄的类,并且我想自动关闭该句柄,即使该类的…
是 std::unique_ptr需要知道 T 的完整定义吗?
我在标头中有一些代码,如下所示: #include class Thing; class MyClass { std::unique_ptr my_thing; }; 如果我将此标头包含在不包含 Thing 类型定…
将 unique_ptr 从一个向量移动到另一个向量
我想将存储在未排序向量中的 unique_ptr 移动到另一个向量,该向量将包含已排序的指针向量。 移动 unique_ptr 肯定不会自动删除第一个向量中的元素吗…