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 肯定不会自动删除第一个向量中的元素吗…
pimpl:避免使用 pimpl 指向指针
在这个问题中,我问“pimpl:shared_ptr或unique_ptr”我一直在确信 pimpl 习惯用法的正确用法是使用 unique_ptr,而不是 shared_ptr。它应该对用户来…
将 std::unique_ptr 与标准容器一起使用
当我意识到 C++11 添加了 unique_ptr 时,我一直在寻找一种方法来实现动态指针的安全向量和映射。我在谷歌上研究了如何使用它们,但没有成功地找到细…