-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) |