📄 subject_53181.htm
字号:
<p>
序号:53181 发表者:木木二中 发表日期:2003-09-17 22:03:47
<br>主题:请问dump是什么意思?
<br>内容:好像在很多类成员函数中都有个dump函数,还有afxdump这个函数,请问这些函数是什么意思?主要是干什么的?谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:hurtmanzc 回复日期:2003-09-17 22:40:36
<br>内容:二者都是用于调试的,前者是Cobject的成员函数,后者是MFC全局函数。<BR>Dump 函数用来按指定的格式输出一个对象的成员变量,来帮助你诊断一个对象的内部情况。与AssertValid成员函数一样,Dump也是Cobject 类的成员函数。Dump函数的参数是一个CdumpContext对象,你可以象利用流一样往向这个对象中输入数据。当你创建一个Cobject继承而来的 新类时,你可以按如下步骤重载你自己的Dump函数:<BR> (1) 调用基类的Dump函数,以输出基类的内容;<BR> (2) 向Cdumpcontest对象输出该类的数据.<BR>例如,典型的Dump函数定义如下:<BR>#ifdef _DEBUG<BR>void CPerson::Dump( CDumpContext& dc ) const<BR>{<BR> // call base class function first<BR> CObject::Dump( dc );<BR><BR> // now do the stuff for our specific class<BR> dc << "last name: " << m_lastName << "\n"<BR> << "first name: " << m_firstName << "\n";<BR>}<BR>#endif<BR> 你可能已经注意到整个函数的定义都包含在#ifdef _DEBUG 和#endif中,这使得Dump成员函数只在DEBUG版本中发生作用,而对RELEASE版本不发生作用。<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>
回复者:hurtmanzc 回复日期:2003-09-18 20:46:43
<br>内容:更正一下,afxdump是一个全局变量,Afxdump才是全局函数。
<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 + -