Symbain菜鸟日记 May 12th
Leave 和 Clearup
在Symbian当中,v9以前的版本都不支持C++标准的异常处理,而是采用了Leave代替。任何一个可能引发Leave的函数,都必须用L结尾,反之亦然。而且,Leave函数一般不应该返回错误码,而是应该用Leave把错误码带出去。
但是如果在一个函数当中申请了动态内存,而在申请和释放之间存在着可能导致Leave的函数调用,就可能导致内存泄漏,所以任何局部指针拥有内存的情况,都必须压入到Clearup当中,以避免内存泄漏。
在Symbian当中,资源管理是非常非常重要的,所以代码规范也十分重要:
T-Class:只有内置变量或者其他T-Class作为成员,如果有指针,不能有has-a关系的指针。不需要也没有析构函数,可以在栈上声明;
C-Class:可能有has-a关系的指针,需要构造和析构函数,只能在堆上声明,必须从CBase继承;
R-Class:包含资源的类,需要二次构造和二次析构来避免资源的泄漏,需要构造函数和析构函数,只能在堆上声明,必须从CBase继承;
M-Class:接口类,不允许出现成员变量,在减少代码重复的时候,允许出现有实现的函数。
[原文在百度空间已经关闭]
标签集合/Tag clouds
C++
Symbain
轻松汇编
算法
论文学习
资治通鉴
Delphi
编程之美
Poco
MFC
Linux
IFC
知乎
汇编
数据分析
交叉编译
poco
j2me
android
XML
Java
DTD
飞信
零宽断言
诺基亚
联系人
编程
真值表
池西木
正则表达式
多线程
命令行
优化
stream
configure
cmake
VIM
UiAutomator
TDD
Symbian
Sqlite
SourceInsight
Python
MPAndroidChart
Kotlin
Flutter
Dokka
Chatgpt