MFC CList是否支持副本分配?

陈OT

我在MSVC中查找了CList定义,afxtempl.h并在MSDN查找了文档我没有看到CList& operator=(const CList&);定义。

我可以直接operator=用来复制CList对象吗?

 CList<int> a = b;

还是我应该手动地从源CListhead目标CListtail以及AddTail在目标CList上进行迭代

 for(POSITION pos = a.HeadPosition(); pos; )
 {
      const auto& item = a.GetNext(pos);
      b.AddTail(item);
 }

任何建议都会有所帮助。谢谢。

科迪·格雷

如果未定义副本分配运算符,则不会定义它并且不能使用它。CList正如您已经观察到的那样,这是正确的,因此,不能,您不能仅用于operator=复制CList对象。如果您想要集合的深层副本,则需要编写一个函数来手动进行。

但是,请考虑您是否真的想要深复制。大多数时候,您会希望通过引用而不是通过值来传递集合类型。在MFC中尤其如此,在MFC中,它们可以包含衍生自的对象,这些对象CObject不一定要被复制。实际上,您会注意到CObject,使用私有副本构造函数和赋值运算符该类明确禁止复制:

   // Disable the copy constructor and assignment by default so you will get
   //   compiler errors instead of unexpected behaviour if you pass objects
   //   by value or assign objects.
private:
   CObject(const CObject& objectSrc);              // no implementation
   void operator=(const CObject& objectSrc);       // no implementation

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MFC 多字节支持

来自分类Dev

是否可以在MFC中加宽消息框?

来自分类Dev

Qt中的MFC VERIFY()是否等效?

来自分类Dev

Tabstops是否在MFC CCheckListBox中起作用?

来自分类Dev

有什么理由使用(MFC)CList <T,T&>而不是CList <T,const T&>吗?

来自分类Dev

兄弟MFC-J825DW不能打印多个副本

来自分类Dev

MFC不支持小于0x0501的WINVER

来自分类Dev

是否有图形支持在MFC中的nana c ++中在画布上进行涂鸦?

来自分类Dev

在运行时动态分配MFC命令ID

来自分类Dev

在运行时动态分配MFC命令ID

来自分类Dev

在多个对话框中显示和使用相同的MFC CList控件

来自分类Dev

MFC:CMFCToolBar SetButtonStyle是否与样式TBBS_PRESSED不兼容?

来自分类Dev

MFC:CDockablePane是否已收到CTreeCtrl的ON_NOTIFY_REFLECT消息?

来自分类Dev

Qt中是否有MFC VERIFY()的等效项?

来自分类Dev

使用MFC,是否可以使行包含合并的数据?

来自分类Dev

是否可以在不使用MFC的情况下使用CListCtrl

来自分类Dev

使用 MFC 检测是否安装了 Opera 浏览器

来自分类Dev

重载副本分配运算符

来自分类Dev

此副本分配操作安全吗?

来自分类Dev

如何在MFC应用程序中支持从右向左打印

来自分类Dev

如何将在编辑框中键入的值分配给MFC中的变量

来自分类Dev

重载的运算符=返回void是否不可能是副本分配运算符?

来自分类Dev

用/ CLR编译的MFC项目中是否有任何类计数限制

来自分类Dev

如何检查服务器端口是否打开并通过MFC连接

来自分类Dev

是否可以在MFC功能区栏上添加一对单选按钮?

来自分类Dev

与std :: unordered_map或std :: map相比,MFC CMap是否具有良好的性能?

来自分类Dev

Microsoft Symbol Server上是否是VS2015 64位MFC符号?

来自分类Dev

是否不针对mfc中的Windows dpi更改对话框的字体?

来自分类Dev

是否可以在MFC功能区栏上添加一对单选按钮?

Related 相关文章

  1. 1

    MFC 多字节支持

  2. 2

    是否可以在MFC中加宽消息框?

  3. 3

    Qt中的MFC VERIFY()是否等效?

  4. 4

    Tabstops是否在MFC CCheckListBox中起作用?

  5. 5

    有什么理由使用(MFC)CList <T,T&>而不是CList <T,const T&>吗?

  6. 6

    兄弟MFC-J825DW不能打印多个副本

  7. 7

    MFC不支持小于0x0501的WINVER

  8. 8

    是否有图形支持在MFC中的nana c ++中在画布上进行涂鸦?

  9. 9

    在运行时动态分配MFC命令ID

  10. 10

    在运行时动态分配MFC命令ID

  11. 11

    在多个对话框中显示和使用相同的MFC CList控件

  12. 12

    MFC:CMFCToolBar SetButtonStyle是否与样式TBBS_PRESSED不兼容?

  13. 13

    MFC:CDockablePane是否已收到CTreeCtrl的ON_NOTIFY_REFLECT消息?

  14. 14

    Qt中是否有MFC VERIFY()的等效项?

  15. 15

    使用MFC,是否可以使行包含合并的数据?

  16. 16

    是否可以在不使用MFC的情况下使用CListCtrl

  17. 17

    使用 MFC 检测是否安装了 Opera 浏览器

  18. 18

    重载副本分配运算符

  19. 19

    此副本分配操作安全吗?

  20. 20

    如何在MFC应用程序中支持从右向左打印

  21. 21

    如何将在编辑框中键入的值分配给MFC中的变量

  22. 22

    重载的运算符=返回void是否不可能是副本分配运算符?

  23. 23

    用/ CLR编译的MFC项目中是否有任何类计数限制

  24. 24

    如何检查服务器端口是否打开并通过MFC连接

  25. 25

    是否可以在MFC功能区栏上添加一对单选按钮?

  26. 26

    与std :: unordered_map或std :: map相比,MFC CMap是否具有良好的性能?

  27. 27

    Microsoft Symbol Server上是否是VS2015 64位MFC符号?

  28. 28

    是否不针对mfc中的Windows dpi更改对话框的字体?

  29. 29

    是否可以在MFC功能区栏上添加一对单选按钮?

热门标签

归档