请高手指点, 在MFC的基础类 CObArray 的成员函数 COPY() 是属于深复制还是浅复制啊?
意思就是如果COPY的参数CObArray 对象中的项是一个新的类型,比方说是CLASS CAT  这个类包含
指针,想问下,如果调用了COPY函数,复制的是指针的地址还是指针所指向里面的数值
其实问题就是和复制构造函数的深拷贝和浅拷贝是一样的道理。

解决方案 »

  1.   

    应该是浅拷贝。
    深拷贝的话,对于派生类中特殊类型的成员变量,不可能帮你完成拷贝工作。比如你的类中包含一个CMap,CList之类的数组的话,就CObArray类的能力,是不可能帮你完成它的深拷贝的。
      

  2.   

    一般操作自定义对象等,最好实现自己的copy函数等来进行深拷贝
      

  3.   

    浅复制,指针照COPY的,他本身不知道你用那个指针的意图,如果帮你深复制,反而麻烦.
    万一我用的这个指针的意图,只是指向,而不是占有.就不应该深复制.