是 std::unique_ptr需要知道 T 的完整定义吗?
我在标头中有一些代码,如下所示: #include <memory> class Thing class MyClass { std::unique_ptr< Thing > my_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 时,我一直在寻找一种方法来实现动态指针的安全向量和映射。我在谷歌上研究了如何使用它们,但没有成功地找到细…
为什么可以在没有 std::move 的情况下返回 std::unique_ptr ?
unique_ptr 不允许复制构造,而是支持移动语义。然而,我可以从函数返回一个 unique_ptr 并将返回的值分配给一个变量。 #include <iostream> #inc…
自定义Unique_ptr删除器,受控删除
我有一个 for 循环,它遍历 XML 文档并查找指定的属性,指向当前节点的指针位于 boost::interprocess::unique_ptr 内,并具有一个自定义删除器来调用…
boost::Unique_Ptr 对象列表
为什么我不能这样做? typedef boost::interprocess::unique_ptr<QueueList, QueueListDeletor> UQList typedef boost::intrusive::list<UQList…
std::auto_ptr 到 std::unique_ptr
随着新标准的到来(以及某些编译器中已经可用的部分),新类型 std::unique_ptr 应该是 std::auto_ptr 的替代品。 它们的用法是否完全重叠(这样我可…
为什么我不能将 unique_ptr 推回到向量中?
这个程序有什么问题吗? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec int x(1) std::…
std::列表< std::unique_ptr; >:传递它
假设我有一个 class T 的 std::list: std::list<T> l 将其传递给函数时,我会使用一个引用: someFunction( std::list<T> &l ) 什么是最…
unique_ptr 提升等效吗?
boost 库中是否有 C++1x 的 std::unique_ptr 的等效类?我正在寻找的行为是能够拥有一个异常安全的工厂函数,就像这样...... std::unique_ptr<Base&…
那么unique_ptr可以在stl集合中安全使用吗?
我对 unique_ptr 和右值移动哲学感到困惑。 假设我们有两个集合: std::vector<std::auto_ptr<int>> autoCollection std::vector<std::uniq…
我怎样才能编译这段涉及 unique_ptr 的代码?
#include <vector> #include <memory> using namespace std class A { public: A(): i(new int) {} A(A const& a) = delete A(A &&a…