<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/</link>
<title><![CDATA[发现一个问题--关于new申请的内存]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[默认分类]]></category>
<pubDate>Sun, 04 Apr 2010 07:07:56 +0000</pubDate> 
<guid>http://www.snooda.com/read/</guid> 
<description>
<![CDATA[ 
	由于之前程序里的一个BUG，导致返回的临时对象里的char*成员指向的内存其实已经被释放了。<br />
<br />
当我使用这个临时对象给另外一个新对象赋值时，首先需要给新对象申请空间，我惊奇的发现，新new申请的内存地址和临时对象的那个char*成员的值相同。<br />
<br />
想了一想，猜测是以下原因：由于new申请的内存都在堆中，在距离上次释放内存之后没有新申请内存，所以再次申请内存的时候按顺序申请，自然地址从上次释放的起始位置开始，自然和之前的那个指针值相等。<br />
<br />
看似巧合，实际有必然性。
]]>
</description>
</item><item>
<link>http://www.snooda.com/read/#blogcomment</link>
<title><![CDATA[[评论] 发现一个问题--关于new申请的内存]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.snooda.com/read/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>