⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_50251.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:50251 发表者:有株·乔布斯 发表日期:2003-08-19 01:28:43
<br>主题:请帮我看看我这小段代码里有内存泄漏的问题吗?刚开始学,多多关照
<br>内容:另外:怎么判断自己的代码有没有内存泄漏的问题<BR><BR>原吗如下:<BR><BR># include &lt;iostream&gt;<BR>class SimpleCircle<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle(int const newRadias);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle(SimpleCircle &amp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~SimpleCircle();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int GetRadias () const{return *itsRadias;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void SetRadias (int const newRadias){*itsRadias=newRadias;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const SimpleCircle &amp; operator++();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const SimpleCircle operator++(int);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle &amp; operator=(const SimpleCircle &amp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int *itsRadias;<BR>};<BR><BR>SimpleCircle::SimpleCircle()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;itsRadias=new int;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*itsRadias=5;<BR>}<BR><BR>SimpleCircle::SimpleCircle (int const newRadias)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;itsRadias=new int;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*itsRadias=newRadias;<BR>}<BR><BR>SimpleCircle::~SimpleCircle ()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;delete itsRadias;<BR>&nbsp;&nbsp;&nbsp;&nbsp;itsRadias=NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;"Destroyed!!";<BR>}<BR><BR>SimpleCircle::SimpleCircle(SimpleCircle&amp; rhs)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;itsRadias=new int;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*itsRadias=*(rhs.itsRadias);<BR>}<BR><BR><BR>const SimpleCircle &amp; SimpleCircle::operator++()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;++*itsRadias;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return *this;<BR>}<BR><BR>const SimpleCircle SimpleCircle::operator++(int theFlag)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle temp(*this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;(*itsRadias)++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return temp;<BR>}<BR><BR>SimpleCircle&amp; SimpleCircle::operator=(const SimpleCircle&amp; rhs)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (this==&amp;rhs)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return *this;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*itsRadias=*(rhs.itsRadias);<BR>&nbsp;&nbsp;&nbsp;&nbsp;return *this;<BR>}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>int main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle c1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle c2(9);<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;c1.GetRadias()&lt;&lt;"\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;c2.GetRadias()&lt;&lt;"\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;c1.SetRadias(10);<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;c1.GetRadias()&lt;&lt;"\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;++c1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;c1.GetRadias()&lt;&lt;"\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;SimpleCircle c3;<BR>&nbsp;&nbsp;&nbsp;&nbsp;c3=c1++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;c3.GetRadias()&lt;&lt;"\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;c1.GetRadias()&lt;&lt;"\n";<BR><BR>}
<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>回复者:木一 回复日期:2003-08-19 02:03:25
<br>内容:检查你动态分配内存的地方,也就是new的地方<BR><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-08-19 02:27:34
<br>内容:多谢
<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 + -