map key char*
来源:互联网 发布:单片机的类型 编辑:程序博客网 时间:2024/05/16 08:31
STL中map的key能否用char *呢?当然可以!
在程序中需要用到一个map,本来是这样写的,
map<string, int> mapStr;
为了追求效率,把string改成了char *,
map<char *, int> mapStr;
结果呢?
可想而知,每次放进去的是指针,
当查找的时候就出问题了,总是找不到。
因为key中存放的是指针,当然找不到了。
需要重载一下操作符,当查找时比较指针对应的字符串就可以了。
修改如下:
struct ptrCmp
{
bool operator()( const char * s1, const char * s2 ) const
{
return strcmp( s1, s2 ) < 0;
}
};
map<char *, int, ptrCmp> mapStr;
再进行查找就OK了!
===========================
C++ map中key使用指针的问题
(2012-12-07 08:19:28)转载▼
标签:
map
find失败
find不到结果
分类: 调试 0 0
- map key char*
- char* 做map 的KEY
- map 和 unordered_map以char * 为key
- [C++]char* 做map 的KEY
- 用 char*作为std::map中的key
- STL中map的key能否用char *呢?当然可以! map<char *, char *>
- C/C++ Map 关于insert、iterator、erase、char * key总结
- char*做map的key使用时的问题
- 将char *类型作为map的key时要谨慎。
- map key
- map<char *, char *>的使用
- Google map api key
- map key sort
- 获取 google map key
- Android Key Layout Map
- Android Map API Key
- android map key
- 申请Google Map Key
- fopen、_wfopen临时
- 驱动和应用共享内存
- 两个线程交替执行
- cas服务器时间不同步导致两台服务器
- android中UI设计里面常会用到的style和theme。
- map key char*
- SVN常用命令
- 第四章--调试技术
- POJ2249 Binomial Showdown
- 叠片过滤器对比传统过滤器的优势说明
- vim 重命名
- centos 下安装git
- 第五章--并发和竞态
- jquery form 加载数据