📄 subject_61177.htm
字号:
<p>
序号:61177 发表者:badboy 发表日期:2003-11-18 11:24:19
<br>主题:关于选用MFC集合类的原则是什么?
<br>内容:VC里经常要我们自己组织数据结构来存储数据的,MFC给我们提供了数组类,链表类以及映射表类等(简称数据处理类)几大块。他们的特性区别比较明显,我们选择时比较容易区别选择。 现假设我决定用链表来存储数据。可MFC给我们提供了几个链表类,如下:CList CTypedPtrList CObList CPtrList CPtrList CStringList <BR>请问我选择他们的原则是什么?<BR> 我看过书了,书上写的是如下:<BR>1 是否使用C++ template (对于type-safe极有帮助)<BR>2 存储于MFC数据处理类之中的元素是否要有倾印(dump)和错误诊断能力。<BR>3 存储于MFC数据处理类之中的元素是否要做文件读写操作 (Serialize).<BR> 真是不好意思,我除了第三条懂了以外,头两条,都不明白。 第一条,说(对于type-safe极有帮助)什么意思?书上说,可以利用MFC的CList类为所选的任何数据类型创建类型安全列表类。<BR> CList是模板,他能适应各种数据类型,不奇怪。但,所说的安全是什么意思?别的类就不安全了?<BR>倾印(dump)和错误诊断能力。又是干什么的?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:红苹果 回复日期:2003-11-19 22:05:32
<br>内容:关于1,我也不知道。<BR>关于2,我们在MFC中使用的类,可以分为两大类:基类是CObject的、和基类不是CObject的类。CObject类中定义了一组virtual函数,其中就有两个(dump,AssertValid())是用于调式的。<BR>对于基类是CObject的类,应选象CObList系列的。<BR>而基类不是CObject的类,应选象CPtrList系列的。<BR><BR>别的我也说不清楚了。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-11-21 14:05:23
<br>内容:"CObject类中定义了一组virtual函数,其中就有两个(dump,AssertValid())是用于调式的"<BR> 请问是提供给我们用的吗? 怎么用?<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:红苹果 回复日期:2003-11-22 21:08:52
<br>内容:不是我们用的。对debug版,用F5运行时,当有内存泄露,系统要调用dump
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-11-22 21:39:33
<br>内容: 我真是佩服得五体投地!<BR><BR> 这种知识你也能知道! 怎么知道的?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-11-23 00:02:30
<br>内容:你调式程序,有意泄漏点内存,在退出时VC++会提示正在dump memory...。猜的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-12-10 18:06:54
<br>内容:您说的泄露内存,就 new 了,而不delete 吧?最后由VC delete了!? 是吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:红苹果 回复日期:2003-12-10 18:09:28
<br>内容:正确
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:红苹果 回复日期:2003-12-10 18:13:13
<br>内容:其实,MFC类中的虚函数主要是为方便MFC框架管理其基类的派生类时用的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -