[转贴]Symbian内存管理的二十二条军规

news/2024/6/29 7:01:29
Symbian内存管理的二十二条军规
2005-01-12浏览次数:98

1C类必须有析构函数,这是CBase的一个虚函数。

2C类的构造函数和ConstructL()必须为protectprivate类型的成员函数

3、在C class中必须有一个NewLC()函数,除非它是嵌套类。NewL()是可选的,并且总是根据NewLC()来实现。

4NewL()NewLC()c class中必须是static函数。 

5C类通过指针和引用来传递。

6、拷贝构造函数在symbian中没有用。

7、不一定要在析构函数中删除类的成员对象。(生命期结束即可删除)

8、析构函数中必须对对象进行if检查。即

if(iObject) delete iObject;iObject = NULL;

9R类没有明确的构造、析构或拷贝构造函数以及赋值操作。

10delete a;a=NULL;a=b;标准重新分配过程。

11、任何可能导致异常退出的函数皆加L后缀。

12、不要删除非拥有对象(也就是,那些仅仅只使用的对象)

13、分配动态数组前定义一个合适粒度。

14、把new换成new(ELeave).

15if(函数不能异常退出&&要自己处理错误时)使用TRAP&&不要过多嵌套。

16if(aObject被一个自动变量指针引用&&将进行一个可能在aObject生存期内Leave的操作)

CleanupStack::PushL(aObject);

17、决不能把一个i前缀的成员变量PushL入清理栈。

18、构造函数决不能Leave,把可能异常退出的语句放到ConstructL()中去。

19Symbian的默认栈容量为8k,小心使用递归。

20TBuf的长度最好不超16,必要的情况下用HBufC代替TBuf.

21、使用__UHEAP_MAEK 宏来检测你的内存状况。

22、尽可能早的删除一切失去使用价值的东西,不要等到函数尾部(自动变量)或在析构函数中才删除(成员变量)。


http://www.niftyadmin.cn/n/3566939.html

相关文章

Linux 必须要掌握的重要目录:

必须要掌握的重要目录: /etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡的配置 /etc/resolv.conf 客户端dns,是linux上网dns,网卡/etc/sysconfig/network-scripts/ifcfg-eth0里的dns优先于客户端客户端dns/etc/resolv.conf /etc/hosts…

PhpExcel中文帮助手册|PhpExcel使用方法三

001 <p>PHPExcel基本操作&#xff1a;<br /> 002定义EXCEL实体<br /> 003即定义一个PHPEXCEL对象&#xff0c;并设置EXCEL对象内显示内容</p> 004<div> 005<pre class"prebrush"> 006// Excel开始 007// 准备EXCEL的包括文件 00…

ASP判断字符串长度(包含汉字问题)

<%Function getLength(txt)txttrim(txt)x len(txt)y 0for ii 1 to x if asc(mid(txt,ii,1))<0 or asc(mid(txt,ii,1))>255 then y y 2 else y y 1 end ifnextgetLength yEnd Function"************* 截取字符串 **************Function get…

[转贴]屏幕/内存同步原则在Symbian编程中的应用

屏幕/内存同步原则在Symbian编程中的应用2005-01-12浏览次数&#xff1a;89文/Peter Jiang 内存作为Symbian编程中最宝贵的资源&#xff0c;我们必须在编程中极其吝啬的加以使用&#xff0c;最好不用。当然谁都知道不用内存是无法编程的&#xff0c;就像即使吝啬如葛朗台也要穿…

ASP判断字符串长度(考虑汉字问题)

<% Function CheckStringLength(txt) txttrim(txt) x len(txt) y 0 for ii 1 to x if asc(mid(txt,ii,1))<0 or asc(mid(txt,ii,1))>255 then y y 2 else y y 1 end if next CheckStringLength y End Function ’"************* 截取字符串 ************…

张:动态检测用户名是否可用

当用户注册时&#xff0c;需要拟定并输入一个用户名&#xff0c;而这个用户名&#xff0c;很多时候会互相重复&#xff0c;所以&#xff0c;常见的情况是&#xff0c;在输入 框旁边放一个按钮“检测用户名”&#xff0c;当用户点击时&#xff0c;提交到CheckUserName.asp进行检…

张建慧:用脚本设置输入框的数目

常见的比如上传图片时,如果要上传5个,可输入5,然后图片文件的选择框就变为了5 如果添加一些简单的内容,比如两三个文本框为一条记录,那么这样的信息采用这种方法将非常简便,只要在接收时轮循即可 下面是代码,保存为html即可: <body topmargin"0" leftmargin"…

DETR源码笔记(二)

在DETR源码笔记&#xff08;一&#xff09;中&#xff0c;阅读到了main()函数的第二部分构建模型部分&#xff0c;接下来是搭建transformer部分。 目录 搭建Transformer Encoder Decoder DETR搭建 LOSS计算和GT匈牙利匹配 PostProcess后处理 main&#xff08;三&#x…