Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302070
  • 博文数量: 47
  • 博客积分: 1411
  • 博客等级: 上尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-23 09:10
文章分类

全部博文(47)

文章存档

2009年(3)

2008年(4)

2007年(14)

2006年(26)

我的朋友

分类: C/C++

2006-02-23 21:23:44

-std::map

本来是用map来将event映射到actions的。不过event的排序逻辑并不是太好,所以使用map就带来一个很大问题,map使用 operator<()来进行二叉平衡树的排序,应为key_comp()只能利用<,所以比较方法如下:比较key和map的keys,如果key

-std::hash_map

这个玩意,是SGI的库,并没被标准C++采纳,不过GCC里自带。那就用吧,用法比较奇怪,特别是operator[key]这个重载,居然在无key的情况下创建一个new_obj()。不能忍受。

-std::string

千万别认为调用assign(const char*, int size)函数就能搞定string的字符串。assign后存在一个问题,一旦调用::length可能就会溢出,必须手工在尾部添加一个string [size] = '\0'。说明string并不会帮你做这件事情,而且它最终获取长度可能只是使用strlen。
阅读(2400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~