Chinaunix首页 | 论坛 | 博客
  • 博客访问: 544509
  • 博文数量: 1345
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 14830
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-14 20:32
文章分类

全部博文(1345)

文章存档

2010年(1345)

我的朋友

分类:

2010-10-04 17:29:55

  symbian os不支持stl,主要原因是因为stl覆盖的面太广,不适合在内存受限的设备上使用。   在这里我们首先学习rarray模板类。如果您有java或者.net方面的经验,symbian中的rarray和rpointerarray类似于java中的vector<>或.net中的list<>。   注意事项:   rarray和rpointerarray都是基于模板的   rarray的模板参数应该为r类或t类,而rpointerarray的模板参数可以是任意类型   rarray是固定长度对象的集合(最小长度为4个字节,对象的sizeof必须>4!),rpointerarray是对象指针的集合   rarray和rpointerarray应该创建在栈上,或者为c类的成员变量   接下来我们将针对rarray和rpointerarray的几个常用的方法进行介绍,以下所有演示代码都在控制台程序中执行。   一、常用方法   1、[">操作符   rarray重载了[">操作符: inline const t &operator[">(tint anindex) const; inline t &operator[">(tint anindex);   2、添加元素,append和appendl方法:   首先我们使用一断代码来说明append(l)的使用方法: _lit(ktext1, "hello world 1"); _lit(ktext2, "hello world 2"); rarray array; array.append(ktext1()); array.append(ktext2()); console->write(array[0">); array.reset(); array.close();   按照我们的理解,控制台输出的应该是“hello world 1”,但事实上,控制台输出的是乱码,为什么呢?   我们上面的注意事项中的第三点:“rarray是固定长度对象的集合”,模板参数的长度在rarray构建时被确定,但是tdesc类型的长度明显是可变的(tdesc为描述符的基类,描述符的派生类的长度会根据包含的内容改变),所以在此得不到正确的结果。 如果喜欢symbian编程总结-基础篇-集合与缓冲区(1)-rarray和rpointerarray请收藏或告诉您的好朋友.
阅读(147) | 评论(0) | 转发(0) |
0

上一篇: 清蒸干贝

下一篇: 京味儿饰品流行ing

给主人留下些什么吧!~~