令我苦恼的简单问题!CList同CTypedptrList到底有什么区别?

zz321 2002-07-24 07:16:40
CList(CPerson,CPerson&)
CTypedptrList(CPtrList,CPerson*)
一样用阿!!!!
...全文
108 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishush 2002-07-25
  • 打赏
  • 举报
回复
CList()是可以保存多种类型的指针对象的

CTypedPtrList()只能保存同一种类型的指针对象
zz321 2002-07-25
  • 打赏
  • 举报
回复
Clist也是基于模板的啊
ixMind 2002-07-25
  • 打赏
  • 举报
回复
CTypedPtrList好象是用摸板实现的
如CTypedptrList(CPtrList,CPerson*)
可以在CPtrList的基础上加一个类型转换
使得输出的指针都是CPerson*,而不是void*
当然应该还有其他用处吧
Wargod2002 2002-07-25
  • 打赏
  • 举报
回复
关于clist的内存结构,你看看它的类声明就行了
template<class TYPE, class ARG_TYPE>
class CList : public CObject
{
protected:
struct CNode
{
CNode* pNext;
CNode* pPrev;
TYPE data;
};
...
}
zz321 2002-07-25
  • 打赏
  • 举报
回复
修改一下
CTypedptrList(CPtrList,CPerson*)中存放的是指向CPerson对象的指针。
lishush 2002-07-25
  • 打赏
  • 举报
回复
CList中(是对象) CTypedPtrList中(是对象的指针)
可是问题的关键就是:在CList中存放的对象,难道不是对象在内存位置的指针么?既然是指针同“对象的指针”相比,这两种指针有什么区别?

??????? .........
zz321 2002-07-25
  • 打赏
  • 举报
回复
举例来说:CList(CPerson,CPerson&)中存放的是CPerson对象在内存中的首地址。而CTypedptrList(CPtrList,CPerson*)中存放的是指向CPerson对象的指针的地址。这样说对么?
zz321 2002-07-25
  • 打赏
  • 举报
回复
有道理,继续讲细一些,我快明白了
Wargod2002 2002-07-25
  • 打赏
  • 举报
回复
对象怎么会是指针?
指针也是一种数据类型,它一样有它的存放地址
你要搞清楚指针和地址,这是两个不同的概念
Wargod2002 2002-07-25
  • 打赏
  • 举报
回复
对象怎么会是指针?
指针也是一种数据类型,它一样有它的存放地址
你要搞清楚指针和地址,这是两个不同的概念
zz321 2002-07-25
  • 打赏
  • 举报
回复
to :lishush(☆↑苯鸟先飞↑☆)
CTypedPtrList()只能保存在你声明时所规定的对象,它是一种类型安全的链表.这只是对于CPtrList而言。
CList 同样是类型安全的呀!不能随便更换指针类型。

to:Wargod2002(Wargod2002) 我也不希望作此比较。
CList中(是对象) CTypedPtrList中(是对象的指针)
可是问题的关键就是:在CList中存放的对象,难道不是对象在内存位置的指针么?既然是指针同“对象的指针”相比,这两种指针有什么区别?
javanew 2002-07-25
  • 打赏
  • 举报
回复
thx
lishush 2002-07-25
  • 打赏
  • 举报
回复
就是说CList中可以保存CEdit指针对象,也可以保存CButton指针对象等等

但CTypedPtrList()只能保存在你声明时所规定的对象,它是一种类型安全的链表

例如:CTypedPtrList<CObList,CMyCls*> myClsList;
它就只能保存CMyCls对象的指针
Wargod2002 2002-07-25
  • 打赏
  • 举报
回复
不要拿clist和它比,要比也要和cptrlist,coblist比,ctypedptrlist用于元素是指针的情况下。在baseclass的基础上增加类型检查而已
yesblue 2002-07-25
  • 打赏
  • 举报
回复
不是,是不知道,
up
zz321 2002-07-25
  • 打赏
  • 举报
回复
大家不懈回答么?
zz321 2002-07-25
  • 打赏
  • 举报
回复
为什么不说话
zz321 2002-07-25
  • 打赏
  • 举报
回复
to :lishush(☆↑苯鸟先飞↑☆) 我不理解
lishush 2002-07-25
  • 打赏
  • 举报
回复
CList()是可以保存多种类型的指针对象的

CTypedPtrList()只能保存同一种类型的指针对象
archer_hao 2002-07-24
  • 打赏
  • 举报
回复
不知道
加载更多回复(2)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧