在运行时初始化unique_ptr

高塔姆

在我的实现中,我有一个类向量。每个类别中都有unique_ptr一个链表。仅在运行时,我才知道应添加到每个链表中的节点数。一些链表可能有零个节点。我班的简化视图是:

class A
{
private:
    ...
    std::unique_ptr< std::list<MyListElement> > ptrList;
    ...

public:
    ...
};

多亏了unique_ptr,我不得不跳过以下工作:首先声明一个复制构造函数和copy-assignment-operator并将它们设置为= delete,然后为默认构造函数,move-constructor和move-assignment-operator提供定义。完成所有这些之后,我现在准备调用该函数,该函数为每个对象初始化我的链表。

void A::initListElements(unsigned int numElements)
{
    if (numElements > 0)
    {
        std::unique_ptr< std::list<MyListElement> > tmp(new std::list<MyListElement>);
        ptrList = std::move(tmp);
    }
    else
    {
        ptrList = 0;
    }
}

这是正确的做法吗?有什么方法可以避免创建临时的unique_ptr'tmp'吗?

ixSci

您可以使用reset方法避免临时

ptrList.reset(new std::list<MyListElement>);

else我相信,您不需要声明。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在运行时初始化依赖项

来自分类Dev

在运行时初始化数组元素

来自分类Dev

在运行时初始化依赖项

来自分类Dev

在运行时确定大小的对象上使用std :: unique_ptr

来自分类Dev

使用unique_ptr实现回调时VC++报告在运行时崩溃

来自分类Dev

为什么我会得到警告:(在指向“ ptr”的初始化附近)并且在运行时在指针处赋值时出现分段错误?

来自分类Dev

C#-在运行时初始化const字段时

来自分类Dev

如何在运行时初始化Peewee SQLite数据库?

来自分类Dev

类内成员初始化是在编译时还是在运行时进行?

来自分类Dev

在运行时初始化HTML模板图像属性

来自分类Dev

成员初始化列表中的unique_ptr

来自分类Dev

C ++ 11中的unique_ptr的延迟初始化

来自分类Dev

无法在类中初始化unique_ptr的向量

来自分类Dev

延迟初始化std :: unique_ptr

来自分类Dev

使用iota初始化unique_ptr的容器

来自分类Dev

C ++ 11中的unique_ptr的延迟初始化

来自分类Dev

unique_ptr <>()初始化会失败吗?

来自分类Dev

C++:unique_ptr 未正确初始化

来自分类Dev

C++ unique_ptr 初始化

来自分类Dev

如何初始化std :: unique_ptr <std :: unique_ptr <T> []>?

来自分类Dev

改造响应对象中的嵌入式房间实体字段未在运行时初始化

来自分类Dev

为什么在运行时而不是在编译时评估使用constexpr初始化变量

来自分类Dev

如何在运行时使用构造函数初始化类中私有的数组?

来自分类Dev

运行时错误91初始化数组

来自分类Dev

运行时C#线程重新初始化

来自分类Dev

Pystan,运行时错误-初始化失败

来自分类Dev

从unique_ptr <T []>初始化shared_ptr <T>

来自分类Dev

是否可以在构造函数的初始化程序列表中初始化std :: unique_ptr的std :: array?

来自分类Dev

您可以从初始化列表中使用unique_ptr初始化STL容器吗?

Related 相关文章

  1. 1

    在运行时初始化依赖项

  2. 2

    在运行时初始化数组元素

  3. 3

    在运行时初始化依赖项

  4. 4

    在运行时确定大小的对象上使用std :: unique_ptr

  5. 5

    使用unique_ptr实现回调时VC++报告在运行时崩溃

  6. 6

    为什么我会得到警告:(在指向“ ptr”的初始化附近)并且在运行时在指针处赋值时出现分段错误?

  7. 7

    C#-在运行时初始化const字段时

  8. 8

    如何在运行时初始化Peewee SQLite数据库?

  9. 9

    类内成员初始化是在编译时还是在运行时进行?

  10. 10

    在运行时初始化HTML模板图像属性

  11. 11

    成员初始化列表中的unique_ptr

  12. 12

    C ++ 11中的unique_ptr的延迟初始化

  13. 13

    无法在类中初始化unique_ptr的向量

  14. 14

    延迟初始化std :: unique_ptr

  15. 15

    使用iota初始化unique_ptr的容器

  16. 16

    C ++ 11中的unique_ptr的延迟初始化

  17. 17

    unique_ptr <>()初始化会失败吗?

  18. 18

    C++:unique_ptr 未正确初始化

  19. 19

    C++ unique_ptr 初始化

  20. 20

    如何初始化std :: unique_ptr <std :: unique_ptr <T> []>?

  21. 21

    改造响应对象中的嵌入式房间实体字段未在运行时初始化

  22. 22

    为什么在运行时而不是在编译时评估使用constexpr初始化变量

  23. 23

    如何在运行时使用构造函数初始化类中私有的数组?

  24. 24

    运行时错误91初始化数组

  25. 25

    运行时C#线程重新初始化

  26. 26

    Pystan,运行时错误-初始化失败

  27. 27

    从unique_ptr <T []>初始化shared_ptr <T>

  28. 28

    是否可以在构造函数的初始化程序列表中初始化std :: unique_ptr的std :: array?

  29. 29

    您可以从初始化列表中使用unique_ptr初始化STL容器吗?

热门标签

归档