Symbian系统开发教程2.doc

Symbian系统开发教程2.doc

ID:55215911

大小:134.00 KB

页数:22页

时间:2020-05-04

Symbian系统开发教程2.doc_第1页
Symbian系统开发教程2.doc_第2页
Symbian系统开发教程2.doc_第3页
Symbian系统开发教程2.doc_第4页
Symbian系统开发教程2.doc_第5页
资源描述:

《Symbian系统开发教程2.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章:数据类型与语法作者:兴enigma19971hotmail.需注明出处Symbian系统已经提供了一套已经定义好的置的数据类型。为了保证你的代码是编译器无关的,应当使用下面symbian系统提供的数据类型,而不要使用原生数据类型(nativetypes,这里指标准C中的int,char等)。1.基本类型TIntX和TUintX(其中X=8,16和32)分别用来表示8位,16位和32位的有符号和无符号的整数。一般情况下,使用TInt和TUint就可以了,除非是在考虑代码优化或兼容性的时候,才会用到TInt8

2、,TInt16这样的类型。TInt或TUint类型分别对应有符号和无符号的整数。ØTInt64.在版本8.0之前,Symbian系统中不支持64位的算术运算,而是用两个32位的值来实现64位的整数,在8.0版本之后,TInt64和TUInt64才被定义为longlong类型,真正使用64位的置数据类型。ØTReal32和TReal64(TReal相当于TReal64)这两个数据类型相当于单精度和双精度的浮点数,由于浮点数的运算要比整数慢,所以一般应尽量避免使用浮点数的运算。ØTTextX(其中X=8或16)分别对

3、应窄或宽的字符(注:所谓窄字符通常ASCII码字符,而宽字符是指unicode字符集的字符)ØTAny*TAny*意为指向任意容的指针,在这种意义上讲,TAny相当于void,TAny*相当于TAny*。但是,在某些场合下,void标示‘空’,如:voidhello(void);这时,不要将它改写为:TAnyhello(TAny);ØTBool标示布尔类型。Symbian系统提供了两个常量:ETrue(=1)和EFalse(=0),分别表示真和假。注意:在Symbian系统中,TBool被定义为int,而ETru

4、e和EFalse被定义为enum,所以,如果一个函数的返回值为TBool,不要用如下的代码来比较函数的返回值:TBoolisLarger(TInta,TIntb){return(a>b)?ETrue:EFalse;}if(isLarger(4,3)==ETrue){...}//错误,编译不过。if(isLarger(4,3)){...}//正确2类和对象2.1Symbian系统中的命名习惯:在Symbian系统中编写代码时,应当遵守种样几个规则:成员变量的命名以小写字母i开头,方法的参数以小写字母a开头,例如:c

5、lassPernon{public:TIntiAge;voidSetAge(TIntaAge){iAge=aAge};}在symbian系统中存在几种不同类型的类(class),不同类型的类,其特性也各不相同。有的在堆(heap)上创建,有的在栈(stack)上创建,特别的是,类的实例(instance)的清除方式也不尽相同(下面,为了方便我们把类的类别称为型别)。型别(classtype)可以体现这些不同的特点。每个型别都有一套定义好的关于如何创建和清除实例的规则。为了容易区分型别,Symbian系统使用了一个

6、简单的命名规则:类名以大写字母开头(T,C,R或M)。作为类的设计者,你先要考虑这个类的行为,看它到底与哪种型别匹配,一旦确定了它的类型,然后你就可以专注于该类的功能。同样,对一个类的使用者来讲,如果他不熟悉这个类,但类的命名规则可以帮助他弄清你的意图------如何用安全的方式初始化、使用和销毁一个类的对象(object)。下面,我主要讨论不同型别的主要特性。ØT类T类的行为类似于C++中的置类型,因此,它们以T作前缀(”T”代表”Type”)。象置类型一样,它们没有析构方法(destructor),这导致的结

7、果是:T类不能包含具有析构方法的成员变量。所以,一般情况下,T类的成员变量只能是置类型的数据或者是其它的T类的对象。在某些的情况下T类也可以包含其它对象的指针或引用,不过,这时它们之前是“使用”关系,而不是“拥有”关系(也就是说,这个T类对象并不负责对成员的创建和销毁的工作)。不能拥有外部数据的原因是因为T类没有析构方法。正是由于没有析构方法,T类的对象可以在栈上创建,当程序流程退出函数或产生leave(一种代码异常)的时候,系统自动清除它。即使T类有一个析构方法,在发生异常(在Symbian系统中,异常被称为l

8、eave)时Symbian系统也不会调用它,因为leave没有模仿标准C++的抛出异常的做法。T类的对象也可以在堆上创建。但是,应当在调用有可能发生异常的代码之前,将这个对象放入到清除栈(cleanupStack),在发生异常的时候,清除栈(cleanupStack)会释放这个对象。ØC类这种类都是从CBase派生来的(直接或间接)。//.hfileclassCStude

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。