symbian中动态数组CArrayX的使用

symbian中的动态数组有两大类:RArray和CArrayX。

 

1、CArrayX(CArrayFixFlat,CArrayPakFlat,CArrayVarSeg,CArrayPtrFlat,...6个修饰元素:Fix[定长],Pak[压缩],Var[变长],Ptr[指针],Seg[段],Flat[平坦]

 

其存储方式分为连续存储(Flat)和分段存储(Segmented buffer)两种。

 

可以使用的CArray类型:

名称 元素大小 缓冲器类型 用法
CArrayFixFlat 固定大小 平面 很少进行分配时,用于存储固定大小的T类和R类对象
CArrayVarFlat 可变大小 平面 很少进行分配时,用于存储可变大小的T类和R类对象
CArrayPtrFlat 指针 平面 很少进行分配时,用于对象指针
CArrayPakFlat 大小可变(压缩) 平面 很少进行分配时,用于在一个堆单元中存储可变大小的T类或R类对象
CArrayFixSeg 固定大小 片断 频繁进行分配时,用于存储固定大小的T类和R类对象
CArrayVarSeg 可变大小 片断 频繁进行分配时,用于存储可变大小的T类和R类对象
CArrayPtrSeg 指针 片断 频繁进行分配时,用于存储对象指针

 

 

2、数据长度较大时使用CArrayPtrSeg的实例:

 

从上表中,我们知道了CArray提供了多个版本的类用来提供给用户更多的选择。通常我们常用的有4种:

CArrayVarFlat:存储可变长度元素,存储方式为Flat。

CArrayVarSeg:存储可变长度元素,存储方式为Segment。

CArrayPakFlat:存储固定的或者可变长度的元素,而且每个元素都保留自己的长度信息。

CArrayPtrSeg:存储数组指针,存储方式为Segment。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值