<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>爱我别走</title>
	<atom:link href="http://www.iwobz.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.iwobz.com</link>
	<description>C.yy&#039;s blog~~</description>
	<lastBuildDate>Mon, 06 Sep 2010 17:33:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>明天干什么</title>
		<link>http://www.iwobz.com/?p=894</link>
		<comments>http://www.iwobz.com/?p=894#comments</comments>
		<pubDate>Mon, 06 Sep 2010 17:33:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[默认分类]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=894</guid>
		<description><![CDATA[明天干什么呢？好好想想。不能再玩了，最多再玩两天，该干正事了。珍惜时间，每天做事都要有详细的计划。]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=894</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用word写博客</title>
		<link>http://www.iwobz.com/?p=889</link>
		<comments>http://www.iwobz.com/?p=889#comments</comments>
		<pubDate>Sun, 05 Sep 2010 12:15:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[默认分类]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=889</guid>
		<description><![CDATA[用word写博客，居然可以]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=889</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>复旦情商课魅力女教师上课实录。真的是好东西</title>
		<link>http://www.iwobz.com/?p=878</link>
		<comments>http://www.iwobz.com/?p=878#comments</comments>
		<pubDate>Sun, 05 Sep 2010 03:03:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[默认分类]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=878</guid>
		<description><![CDATA[人人网上无意间发现的好东西，这老师讲得很不错，可惜以前我们学校没有这样的课程。 孤独和寂寞不是一回事…… 适当的距离会使每一个人成为完整而独特的风景，适当的距离会使人跟人在距离之外产生思念…… 因为我们对人产生了疲劳……]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=878</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIARY20100904:又挥霍了一天</title>
		<link>http://www.iwobz.com/?p=876</link>
		<comments>http://www.iwobz.com/?p=876#comments</comments>
		<pubDate>Fri, 03 Sep 2010 16:23:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[默认分类]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=876</guid>
		<description><![CDATA[对自己真的是无语了，本来打算之几天好好在家学习一下就去找工作的，可是老管不住自己。昨晚不怎么热，又是一点多才睡，所以睡得特别香，到早上还做了一个好长好长的梦（很久没做梦了）。到八点钟闹钟响了，关掉又睡。一下子就睡到了十一点，虽然中间一直潜意识地觉得自己该起床了，但就是不愿睁开那矇眬的双眼（现在我终于发现了一个真理，原来眼睛是阻止我起床的最大的敌人）。 　　中午出去吃完饭，回到家对着QQ，不自觉地老想着斗地主，但最终还是没玩，毕竟自己发过誓再也不玩了，让那积分永远保留在7777吧，多么美妙的数字！刚从外面回来，外面雨后的空气非常清新，屋里相比起来就太闷热了，于是拿了本书到附近的一个小公园里去看（其实算不上公园，就是几棵树再加了一条走廊，有两个亭子而已，不过在这么拥挤的城市能有这么一个相对安静一点的地方已经很难得了）。后来没看多久就又下起了雨来，我坐在亭子下面雨飘了过来打在我身上，于是就合上了书原地打转。 　　不知道过了多久雨停了，到处都湿潞潞的没地方下坐就回到了屋里。屋里还是太闷，回到家就又开始睡觉。真的是太佩服自己了，为什么现在我的睡眠质量变得这么好了，跟婴儿似的。后来到晚上就是对着电脑听歌，看帖子。书是看不进去了。 　　什么时候才能改变自己，专注一点？]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=876</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbian C++ &#8212; 细看GUI工程目录结构</title>
		<link>http://www.iwobz.com/?p=868</link>
		<comments>http://www.iwobz.com/?p=868#comments</comments>
		<pubDate>Thu, 02 Sep 2010 16:38:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symbian C++]]></category>
		<category><![CDATA[GUI]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=868</guid>
		<description><![CDATA[　　记得第一次照着书上的指导用Carbide.C++生成了一个HelloWorld的GUI工程，看到里面的目录结构当时被吓了好大一跳。由于以前一直用VC，那工程结构可比这个简单多了，而且向导生成的代码也极为简单。相对说来Symbian C++ GUI的工程真是太复杂了。后来还是静下心来摸了很久，现在就来做个总结，以后有新人再看到的话也不用那么害怕了。 　　一个完整的GUI工程都会包含这些目录：data、gfx、group、help、inc、sis、src。其中data用于保存定义的资源文件，比对话框资源、菜单、字符串等；gfx目录主要包含对资源的描述；group目录用于存放工程的配置文件。如bld.inf为build工程的配置文件，里面描述了支持的平台以及工程的makefile文件(.mk)和项目定义文件(.mmp)；help目录则保存一些定义的帮助信息；inc和src目录则分别用于保存工程的头文件和程序源文件；sis目录下用于存放描述如何生成安装文件的.pkg文件以及安装文件(.sis或.sisx)。 　　在实际开发过程中，除了inc和src目录下的文件是我们主要的工作重点外，修改最为频繁的可能要属资源文件了。所以有必要在这里详细总结一下资源文件的结构。Symbian C++的资源文件主要有如下几种格式： .rss:主要用于定义菜单和对话框的结构。 .rls:用于定义本地化的字符串。 .hrh:这种格式的文件实际上就是标准C/C++的头文件，他即可被.rss文件包含，也可被源文件.cpp包含。主要用于定义各种资源的ID以及工程的UID。 .rsg:由资源编辑器根据.rss文件自动生成的标准头文件，可直接被.cpp文件包含使用。 .bmp,.mbm:windows位图。 　　.rss文件在SDK中被描述为Resource source file，其在资源文件中的角色就象C/C++中的.cpp文件一样。一个典型的.rss文件内容如下代码所示： // INCLUDES #include &#60;eikon.rh&#62; #include &#60;avkon.rsg&#62; #include &#60;avkon.rh&#62; #include &#60;appinfo.rh&#62; #include &#8220;HelloSymbian1.hrh&#8221; #include &#8220;HelloSymbian1.rls&#8221; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // RESOURCE DEFINITIONS // &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; // //&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Define the resource file signature //&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;This resource should be empty. // // &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; // RESOURCE RSS_SIGNATURE { } &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // [...]]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=868</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbian C++ &#8212; 描述符大集合</title>
		<link>http://www.iwobz.com/?p=820</link>
		<comments>http://www.iwobz.com/?p=820#comments</comments>
		<pubDate>Wed, 01 Sep 2010 13:33:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symbian C++]]></category>
		<category><![CDATA[descriptor]]></category>
		<category><![CDATA[描述符]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=820</guid>
		<description><![CDATA[　　学习了Symbian C++的描述符之后，对标准C/C++对于定义字符串的风格无比怀念。最郁闷的是我只想定义一个常量字符串而不得不去定义一个类的实例，于是无形中又浪费了几个函数指针占用的内存。虽然也可以用字符指针来保存一个字符串，但是这种方式与Symbian C++的编程风格背道而驰，还是少用为妙。 　　虽然描述符这东东挺大挺复杂，但终究还得用，那就坦然接受吧。这里首先给出描述符的“家谱”： 　　此图简洁明了地描述了各描述符间的继承关系。各描述符的具体内容这里就不讲了，我的目的只是作一个总结，更多的详情请查看相关教材吧。下面的内容简单总结了各描述符的特性： TDesC:作为所有描述符的基类(包括TDesc8和TDesC16)，TDesC提供对内容的只读操作(如比较大小、查找、定位等)，C为Const简写，其他类同。 TDes:继承自TDes，在TDesC的基础上增加了对内容的修改操作（如插入、删除、增加、大小写转换等） TPtr:继承自TDes，由于TDes对于内容的操作功能已经相当完善，TPtr本身没有增加任何处理功能。与TDes不同的是它只含有实际字符串的一个指针，Ptr即为pointer的意思。 RBuf:同TPtr类似，不过RBuf在TDes的基础上增添了重新分配内存的功能。 TBuf:派生于TBufBase，而TBufBase直接派生于TDesC，TBufBase仅仅是作为TBuf与TDes的中间类，不能被实例化。TBuf的特点在于其在构造的时候便已指定了最大缓冲区长度，这个缓冲区长度只能是某个已知的长度且不能更改。 TBufCBase:同TBufBase类似，不能实例化。 TBufC:继承于TBufCBase，在构造的时候就指定了最大缓冲区为一个已知的常数，其自身并不提供任何修改内容的功能，但可通过其Des()成员函数得到一个后门TPtr从而修改其内容。 HBufC:同时具有RBuf和TBufC的特点。H表示其内容保存在Heap上且可以重新分配内存，这点类似于RBuf；其自身并不能修改内容，但同样可通过其Des()成员函数获得一个TPtr指针从而修改内容。 TPtrC:直接继承于TDesC，这是最具“Const”特色的描述符。相对于HBufC的数据长度到数据内容均可变，TPtrC不能改变任何内容。其意义在于指向某片存储有不可更改内容的内存。]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=820</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>如何在21天内自学C++</title>
		<link>http://www.iwobz.com/?p=806</link>
		<comments>http://www.iwobz.com/?p=806#comments</comments>
		<pubDate>Wed, 01 Sep 2010 02:30:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[默认分类]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=806</guid>
		<description><![CDATA[　　长期以来不少同学们带着“计算机要从娃娃抓起”的坚定信念，纷纷走进“南祥技校”、“北太菜鸟”等计算机进修学校，或者捧起《像小贝一样学习C++》等书，企图自学成才。 　　通往编程高手之路是崎岖而坎坷的，甚至连女朋友都要冷落一旁了。那么，有没有一条“终南捷径”，可以让我们在短时间内快速成才呢？以下的漫画就告诉了我们一条在21天内自学C++的“最简单方式”。]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=806</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbian C++ &#8212; 内存管理之“类的二阶段构造”</title>
		<link>http://www.iwobz.com/?p=789</link>
		<comments>http://www.iwobz.com/?p=789#comments</comments>
		<pubDate>Tue, 31 Aug 2010 12:00:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symbian C++]]></category>
		<category><![CDATA[二阶段构造]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=789</guid>
		<description><![CDATA[　　前面的清除栈机制保证了程序在异常退出后不会发生内存泄漏，而其前提是对象要能成功构造。如果在构造阶段出现异常则无法保证。为此，Symbian C++引入了类的二阶段构造的概念。在标准C++中，一个类的构造函数不仅包括对其自身成员变量的初始化，还可能包含其成员类对象的构造。Symbian C++通过二阶段构造把内存分配和调用构造函数分开，在这个过程中应用清除栈机制。从而能够在更早的阶段避免内存泄漏。 　　以下代码演示了一个普通的二阶段构造过程： class CFoo : public CBase { public: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CFoo(){}; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;virtual ~CFoo(){}; public: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;void ConstructL(); protected: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; }; &#160;&#160; void MainL() { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CFoo *foo = new ( ELeave ) CFoo; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CleanupStack::PushL(foo); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foo->ConstructL(); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CleanupStack::PopAndDestroy(); } 　　在MainL中的第一行完成了对foo的内存分配，随后将其压入清除栈（在此过程中会调用CFoo的默认构造函数，因此在其默认的构造函数中不能做任何事情），接着再调用CFoo的ConstructL()完成构造。待用完foo之后将其弹出清除栈并销毁之。 说明： 　　１）、函数名后的L“通常”表示函数会在遇到异常时leave，注意前面说的只是“通常”。如果能够保证后面的程序不会出现异常，函数中也可能不会使用清除栈。这样做的目的在于让程序员时刻意识到哪些函数可能发生异常退出，从而可以设置适当的TRAP来捕捉异常。 　　２）、函数名后的C一般表示“Cleanup Stack”，暗示函数具有将对象指针压入清除栈的功能。 　　在实际的应用中，许多类都引入了自定义的静态NewL()和NewLC()函数，替换了原来重载的new操作符和对ConstructL的调用，从而在形式上与标准C++的构造方式更为一致。 class CFoo : public CBase { public: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;virtual ~CFoo(); public: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;static CFoo* [...]]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=789</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Symbian C++ &#8212; 内存管理之“清除栈”</title>
		<link>http://www.iwobz.com/?p=766</link>
		<comments>http://www.iwobz.com/?p=766#comments</comments>
		<pubDate>Tue, 31 Aug 2010 10:36:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symbian C++]]></category>
		<category><![CDATA[CleanupStack]]></category>
		<category><![CDATA[清除栈]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=766</guid>
		<description><![CDATA[　　Symbian OS从一开始就定位于手持设备，具有极度有限的资源。因此相对于PC操作系统来说，其对防止内存汇漏这种问题更为苛刻。于是Symbian设计了一套严格的机制来保障内存不会泄漏——清除栈（CleanupStack）。 　　如下代码演示了清除栈的一般使用步骤： GLDEF_C TInt E32Main() { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CTrapCleanup* cleanup=CTrapCleanup::New();//安装清除栈 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TRAPD(mainError,DoStartL); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;delete cleanup; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; } 　　 void Func() { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CMyObject *obj=new (ELeave) CMyObject; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CleanupStack::PushL(obj); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#8230; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//User::Leave(0);//模拟异常退出 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CleanupStack::Pop(); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;delete obj; } &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; void MainL() { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Func(); } 在上面的代码中，程序首先进入E32Main安装一个全局清除栈，然后通过TRAPD宏调用DoStartL，进而调用MainL,直至具体的函数Func，在Func中成功构造一个CMyObject实例后，将其指针压入清除栈以记录该对象。任务完成后，调用CleanupStack::Pop()将该对象弹出清除栈。上面把模拟程序异常退出的那一行User::Leave(0);注释掉了，那么如果不注释的话会不会产生内存泄漏呢？当然不会。别忘了前面是在TRAPD宏中调用的后面的函数，在此有必要看一下TRAPD宏的定义： #define TRAPD(_r, _s)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TInt _r;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_r = 0;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ TRAP_INSTRUMENTATION_START; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__WIN32SEHTRAP&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;\ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TTrapHandler* ____t [...]]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=766</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbian C++ &#8212; 对operator new的一点小疑问</title>
		<link>http://www.iwobz.com/?p=754</link>
		<comments>http://www.iwobz.com/?p=754#comments</comments>
		<pubDate>Tue, 31 Aug 2010 04:47:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symbian C++]]></category>
		<category><![CDATA[new]]></category>

		<guid isPermaLink="false">http://www.iwobz.com/?p=754</guid>
		<description><![CDATA[在symbian C++中要构造一个对象通常采用以下这种方式： CMyClass * myClass = new (ELeave) CMyClass; 这里的new跟普通C++中的new不同，这里的new是一个new operator的重载版，其定义为: // Global leaving operator new inline TAny* operator new(TUint aSize, TLeave) {return User::AllocL(aSize);} inline TAny* operator new(TUint aSize, TLeave, TUint aExtraSize) {return User::AllocL(aSize + aExtraSize);} #if !defined(__VC32__) &#124;&#124; defined (__MSVCDOTNET__) inline TAny* operator new[](TUint aSize, TLeave) {return User::AllocL(aSize);} #endif 从上面的代码可以看出TLeave这个枚举变量的值在最终分配内存的时候根本就没用到，而sdk源码中对AllocL的注释如下： Allocates a cell of [...]]]></description>
		<wfw:commentRss>http://www.iwobz.com/?feed=rss2&amp;p=754</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
