描述符和数组

 

数组,只要熟悉C的都知道,就不用花口舌介绍它的概念了。描述符其实也很简单,就是字符串。

以下是在C里数据存储的地方:

// 静态存储区
static char stringrom[] = Hello
char* stringptr = stringrom;
// 栈
char stringstack[ strlen(stringrom)  + 1];                               
strcpy( stringstack, stringrom );
// 堆
char* stringheap = ( char*) malloc( strlen( stringrom ) + 1);   
strcpy( stringheap, stringrom );
 
那么在symbian中对应的是什么呢?
 // 静态存储区
_LIT( KHelloRom, hello );// 其实是个LitC模板类的实例
* //指针
TPtrC helloptr( KHelloRom ); //继承TDesC的一个类,代表的是一个指针
* // 栈
TBuf<5> hellostack( KHelloRom ); //
* // 堆
HBufC8* helloheap = KHelloRom().AllocLC(); //记得KHelloRom后打括号,人家就是一个类,重载类()运算符的
 
在symbian中字符串都有个长度存储下来的,这样更节省时间,如果需要计算长度时。
还有就是大家都继承于TDesC或是TDes类。如果长度可变的变量则使用后者没有“C”结尾的类,否则使用带“C”的类。带“C”的不能改变其长度。
 举例:
_LIT(KHello, “hello”);
_LIT(KWorld, “world”);
TBuf<12> helloworld( KHello );
其中TBuf总长度12,但是实际长度只有5.
可以使用Append来进行加法运算,当然也支持符号运算。
其实TDes也继承于TDesC。
推荐使用RBuf类。比较好用。
几种文字格式:
TTEXT:
unsigned char (narrow char)
unsigned short int (wide char)
 
_L():
#define _L(a) (TPtrC((const TText *)L ## a))
TPtrC类。
_LIT()前面已经讲过了。
下面开始讲数组Arrays了。
就是一堆类,继承于CBase,直接继承于 CBufBase。两种CBufFlat和CBufSeg。顾名思义就是一种类似数组,另一种类似链表的分配方式。然后类嘛,用其方法就可以了。
有CArrayX,RArrayX。
其他的就靠练习了,需要熟悉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值