Symbian程序编程规范和数据类型

 

Symbian程序编程规范和数据类型

         Symbian编程规范在很大程度上遵循传统C++编码规范,除此之外,Symbian应用程序还有自己的一些编程规范:

1)         类名和函数名的第一个字母必须大写;

2)         类的成员变量名的第一个字母必须为小写i;如成员变量Tint iVal

3)         函数的形式参数名称的一个字母必须为小写a;

4)         宏名必须以下划线开头,并且名字中的每个单词之间要用下划线隔开,另外宏名的每一个字母应该为大写;

5)         常量的第一个字母必须为大写字母K

6)         枚举名称以大写T开头;

7)         函数名以大写L结尾表示函数在执行时可能会产生异常;

8)         类的名称通常以CTMR是个字母开头:

                         i.              C表示”Cleanup”(清除)的意思,以C开头的类均是从基类Cbase继承而来(包括间接继承),并却C类的所有对象只能放在堆上,不能放到栈中

                       ii.              T开头的类是简单的类,T类的对象即可以放在堆中也可以放在栈中。Symbian OS中许多基本数据类型就是T类,如TIntTrealTtext

                      iii.              R类:以R开头的类是资源类,该类为资源客户端的句柄,该类并不为真正的应用程序所拥有,而是SymbianOS所提供的服务器所拥有,SymbianOS所提供的服务器将相应的服务封装在R类当中

                      iv.              M开头的类是混合类,他表示一个接口只包含纯虚函数,这些纯虚函数需要继承接口的派生类来实现

 

Cbase类在文件/Symbian/8.0a/S60_2nd_FP2/epoc32/include/e32base.h中定义,类似于C++中的Cobject类,它是其他C类的基类。

 

Class Cbase

         {

Public:

         IMPORT_C virtual ~Cbase();             //析构函数

        

         Inline Tany* operator new(Tuint aSize,Tany* aBase);

         //new运算符重载 有两个操作数Tuint Tany*

        

         IMPORT_C Tany*Operator new(Tuint aSize);

         //new运算符有一个操作数:Tuint

        

         Inline Tany* Operator new(Tuint aSize,Tleave);

         //new运算重载两个操作符Tuint TLeave

 

         IMPORT_C Tany* operator new(Tuint aSize,Tuint anExtraSize);

         //new运算符重载有两个操作数 Tuint

 

Protected:

         IMPORT_C Cbase();                   //构造函数

        

Private:

         Cbase(const Cbase&);              //构造函数

        

         Cbase& operator=(const Cbase&);         //=运算符重载

        

         IMPORT_C static Tany* newL(TUInt aSize);//申请空间

}

 

IMPORT_C是一个宏,在e32def.h中定义,它表示从DLL中导入函数。那么这个函数必须首先以IMPORT_C声明,告诉编译器这个函数可以在DLL中找到。

EXPORT_CDLL中导出函数。

         SymbianOS中基本T类数据类型:

Ø  Tint整型(int)在Tint 后面加上数值显示类型的存储空间,Tint8表示8位整数,Tint16表示16位整数,Tint32表示32位整数......

Ø  Tuint 无符号整型(unsigned int)

Ø  Treal 浮点型。(float/doubleTreal32/Treal64

Ø  Ttext 字符型(charTtext8表示8位无符号字符,TtextTtext16表示存储16位无符号Unicode字符,Tchar表示存储32位字符

Ø  Tbool 布尔型,Etrue Eflase;

Ø  Tany 空类型(void

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值