CList(CPerson,CPerson&)
CTypedptrList(CPtrList,CPerson*)
一样用阿!!!!

解决方案 »

  1.   

    CTypedPtrList好象是用摸板实现的
    如CTypedptrList(CPtrList,CPerson*)
    可以在CPtrList的基础上加一个类型转换
    使得输出的指针都是CPerson*,而不是void*
    当然应该还有其他用处吧
      

  2.   

    CList()是可以保存多种类型的指针对象的CTypedPtrList()只能保存同一种类型的指针对象
      

  3.   

    CList()是可以保存多种类型的指针对象的CTypedPtrList()只能保存同一种类型的指针对象
      

  4.   

    to :lishush(☆↑苯鸟先飞↑☆) 我不理解
      

  5.   

    不要拿clist和它比,要比也要和cptrlist,coblist比,ctypedptrlist用于元素是指针的情况下。在baseclass的基础上增加类型检查而已
      

  6.   

    就是说CList中可以保存CEdit指针对象,也可以保存CButton指针对象等等但CTypedPtrList()只能保存在你声明时所规定的对象,它是一种类型安全的链表例如:CTypedPtrList<CObList,CMyCls*> myClsList;
    它就只能保存CMyCls对象的指针
      

  7.   

    to :lishush(☆↑苯鸟先飞↑☆) 
         CTypedPtrList()只能保存在你声明时所规定的对象,它是一种类型安全的链表.这只是对于CPtrList而言。
    CList 同样是类型安全的呀!不能随便更换指针类型。to:Wargod2002(Wargod2002) 我也不希望作此比较。
    CList中(是对象) CTypedPtrList中(是对象的指针)
    可是问题的关键就是:在CList中存放的对象,难道不是对象在内存位置的指针么?既然是指针同“对象的指针”相比,这两种指针有什么区别?
      

  8.   

    举例来说:CList(CPerson,CPerson&)中存放的是CPerson对象在内存中的首地址。而CTypedptrList(CPtrList,CPerson*)中存放的是指向CPerson对象的指针的地址。这样说对么?
      

  9.   

    CList中(是对象) CTypedPtrList中(是对象的指针)
    可是问题的关键就是:在CList中存放的对象,难道不是对象在内存位置的指针么?既然是指针同“对象的指针”相比,这两种指针有什么区别????????  .........
      

  10.   

    修改一下
    CTypedptrList(CPtrList,CPerson*)中存放的是指向CPerson对象的指针。
      

  11.   

    关于clist的内存结构,你看看它的类声明就行了
    template<class TYPE, class ARG_TYPE>
    class CList : public CObject
    {
    protected:
    struct CNode
    {
    CNode* pNext;
    CNode* pPrev;
    TYPE data;
    };
    ...
    }