- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
symbian系统开发教本2
:数据类型与语法
作者:谢兴 HYPERLINK mailto:enigma19971@ enigma19971@ 转载需注明出处
Symbian系统已经提供了一套已经定义好的内置的数据类型。为了保证你的代码是编译器无关的,应当使用下面symbian系统提供的数据类型,而不要使用原生数据类型(native types,这里指标准C中的int ,char等)。
基本类型
TIntX 和 TUintX (其中X = 8, 16 和 32) 分别用来表示 8位, 16位 和 32位的有符号和无符号的整数。 一般情况下,使用TInt 和TUint就可以了,除非是在考虑代码优化或兼容性的时候,才会用到TInt8,TInt16这样的类型。TInt 或 TUint 类型分别对应有符号和无符号的整数。
TInt64. 在版本8.0之前,Symbian系统中不支持64位的算术运算,而是用两个32位的值来实现64位的整数,在8.0版本之后,TInt64和TUInt64才被定义为long long类型,真正使用64位的内置数据类型。
TReal32 和 TReal64 (TReal相当于TReal64)
这两个数据类型相当于单精度和双精度的浮点数,由于浮点数的运算要比整数慢,所以一般应尽量避免使用浮点数的运算。
TTextX (其中X = 8 或 16)
分别对应窄或宽的字符(注:所谓窄字符通常ASCII码字符,而宽字符是指unicode字符集的字符 )
TAny*
TAny* 意为指向任意内容的指针,在这种意义上讲,TAny相当于void, TAny* 相当于TAny*。但是,在某些场合下,void标示‘空’,如:
void hello(void);
这时,不要将它改写为: TAny hello(TAny);
TBool
标示布尔类型。Symbian系统提供了两个常量:ETrue (=1) 和 EFalse (=0),分别表示真和假。
注意:在Symbian系统中,TBool被定义为int, 而ETrue和EFalse被定义为enum,所以,如果一个函数的返回值为TBool,不要用如下的代码来比较函数的返回值:
TBool isLarger(TInt a, TInt b)
{
return (ab)?ETrue:EFalse;
}
if(isLarger(4,3)==ETrue){...} //错误,编译不过。
if(isLarger(4,3)){...} //正确
2类和对象
2.1 Symbian系统中的命名习惯:
在Symbian系统中编写代码时,应当遵守种样几个规则:成员变量的命名以小写字母i开头,方法的参数以小写字母a开头,例如:
class Pernon
{
public:
TInt iAge;
void SetAge(TInt aAge){iAge = aAge};
}
在symbian系统中存在几种不同类型的类(class),不同类型的类,其特性也各不相同。
有的在堆(heap)上创建,有的在栈(stack)上创建,特别的是,类的实例(instance)的清除方式也不尽相同(下面,为了方便我们把类的类别称为型别)。型别(class type)可以体现这些不同的特点。每个型别都有一套定义好的关于如何创建和清除实例的规则。为了容易区分型别,Symbian系统使用了一个简单的命名规则:类名以大写字母开头(T,C,R 或M)。作为类的设计者,你先要考虑这个类的行为,看它到底与哪种型别匹配,一旦确定了它的类型,然后你就可以专注于该类的功能。同样,对一个类的使用者来讲,如果他不熟悉这个类, 但类的命名规则可以帮助他弄清你的意图------如何用安全的方式初始化、使用和销毁一个类的对象(object)。
下面,我主要讨论不同型别的主要特性。
T 类
T类的行为类似于C++中的内置类型,因此,它们以T作前缀(”T”代表”Type”)。象内置类型一样,它们没有析构方法(destructor),这导致的结果是:T类不能包含具有析构方法的成员变量。所以,一般情况下,T类的成员变量只能是内置类型的数据或者是其它的T类的对象。在某些的情况下T类也可以包含其它对象的指针或引用,不过,这时它们之前是“使用”关系,而不是“拥有”关系(也就是说,这个T类对象并不负责对成员的创建和销毁的工作)。不能拥有外部数据的原因是因为T类没有析构方法。正是由于没有析构方法,T类的对象可以在栈上创建,当程序流程退出函数或产生leave(一种代码异常)的时候,系统自动清除它。即使T类有一个析构方法,在发生异常(在Symbian系统中,异常被称为leave)时Symbian 系统也不会调用它,因为leave没有模
您可能关注的文档
- fbi中的心理学.ppt
- fltm bi106-01(油漆附着力).pdf
- foodtraceabilityandauthenticity-globalissues食.pdf
- gambit教育训练-2d弯管.ppt
- gambit使用教本.doc
- gartner-商务智能bi厂商评测xxxx.pdf
- gasturbinecombustion--燃气涡轮燃烧.pdf
- genepulser英文说明书biorad.pdf
- gms-biq制造质量.ppt
- goonuu软件windowsmobile版使用手册(多普达s1).doc
- 江苏省灌云高级中学2023-2024学年高三上学期第一次月考地理试题含答案.docx
- 备战2024年高考物理一轮重难点复习 第十三章 近代物理.docx
- 江苏省高邮市一中2021-2022学年高三上学期第一次月考语文试题(原卷版).docx
- 江苏省华罗庚中学2023-2024学年高三上学期12月阶段检测数学试卷含答案.docx
- 江苏省海门中学2023-2024学年高三上学期第一次调研考试地理试题及答案.docx
- 备战2024年高考物理一轮重难点复习 第九章 恒定电流.docx
- 江苏省高邮市2023-2024学年高三下学期3月学情调研数学试题含答案.docx
- 备战2024年高考物理一轮重难点复习 实验十一:探究影响感应电流方向的因素.docx
- 备战2024年高考物理一轮重难点复习 实验三:验证平行四边形定则.docx
- 备战2024年高考物理一轮重难点复习 第十四章 光.docx
文档评论(0)