Symbian 中动态数组与缓冲区的应用
2010-03-26 21:21:00 来源:WEB开发网核心提示:从书上摘些经典的经验,和大家一起分享,Symbian 中动态数组与缓冲区的应用,为了避免性的损失,Symbian OS加入了RArray类和RPointerArray类,顾名思义就是存储的空间不是连续的,比较像链表的形式保存,以便提供更简单更高效的动态数组,在任何可能的地方都优先使用这两个类而不非CArrayX 类
从书上摘些经典的经验,和大家一起分享。
为了避免性的损失,Symbian OS加入了RArray类和RPointerArray类,以便提供更简单更高效的动态数组。在任何可能的地方都优先使用这两个类而不非CArrayX 类。
RArray类是用于保存定长对象的平坦数组。RPointerArray类似,它是存指针数组。
但是,还有其他CArrayX类,在处理变长元素或需要使用段缓冲区(这个词自己网上查查就知道了)时,它们会很有用:
CArrayVarFlat用于指针元素所引用的变长元素,它使用平坦的内存布局。
CArrayVarSeg用于指针元素所引用的变长元素,它使用段数组布局。
CArrayPakFlat既可用于定长元素也可以用于变长元素,这些元素本身被保存在平坦数组缓冲区内,每个元素包含有自身的长度信息。
CArrayPtrSeg用于指针数组,元素保存在段数组中。
段缓冲区,顾名思义就是存储的空间不是连续的,比较像链表的形式保存,它的优点是在数组大小频繁变化或者可能会有很多元素的插入和删除操作会更好。
更多精彩
赞助商链接