symbian 2

一、基本数据类型

刚一看不是用C++ 吗,但感觉好陌生啊,原来是用了typedef。

基本数据类型在文件e32def.h文件中。

typedef             void                                     TAny

typedef             signed char                       TInt8

typedef            unsigned char                   TUint8

typedef            short int                               TInt16

typedef            unsigned short int            TUint16

typedef           long int                                 TInt32

typedef           unsigned long int              TUint32

typedef           singned   int                       TInt.

typedef           unsingned int                    TUint

typedef           float                                      TReal32

typedef           double                                 TReal64

typedef           double                                 TReal

typedef           unsigned char                    TText8

typedef           unsigned  unsigned short char TText16

typedef           int                                           TBool

typedef           TUint32                                 TLinAddr

symbian C++中 没有字符串string  而是描述符,分为三类:缓冲描述符、指针描述符、堆描述符

A。缓冲描述符:TBuf 和 TBufC  类似与char[ ] :TBuf<20> str

B。指针描述符:TPtr 和 TPtrC 类似于 char * 

C。堆描述符:   HBufC  例:HBufC *buf = HBufC::NewL(128);  与byte *buf = (byte*)malloc(128); 一样

所有描述符 后面的C 表示C++ 中的 CONST 不可修改的描述符。

常用函数

Length()   得到字符串的真实长度,Size()得到字符串的字节数

Left() / Right()/Mid()   获取字符子串

Compare()   比较函数

Location() / LocationReverse() /Find() /Match() c查找字符字串

//错误处理

有三个概念,一是Leave。最常见的地方是对new操作符的重载new(ELeave),表示此时的构造会产生内存不足的现象。
有了new(ELeave),我们就可以放心地在new一个对象之后直接使用它而不需要去判断是否构造成功,因为如果不成功会抛出错误并返回上层。

第二个概念配合Leave,有一个宏TRAPD(error,Func)类似于try...catch...。
也就是说如果Func函数中发生了Leave,则error能得到错误码。一般在程序中可以用User::Leave()来抛出错误,类似于throw new Exception的操作。

第三个概念也是最常用的,就是清理栈CleanupStack的使用。
取代TRAPD宏的使用,我们可以在可能发生Leave之前将指针push到cleanupstack中,在正确完成之后再将它pop出来,如果万一不成功,系统会帮我们将cleanupstack中的东西销掉。这样就方便了很多。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值