C++ map<key , value> key值为指针
来源:互联网 发布:网络理财投资 编辑:程序博客网 时间:2024/05/21 09:06
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
- C++ map<key , value> key值为指针
- Map<Key,Value>基于Value值排序
- Map存储 (key, value)
- STL MAP(key,value)
- Java Map Key-Value
- Map(key,value)
- 获取Map<key,value>的key值方法如下:
- Map获取key值和value值
- map根据value得到key值
- java Map根据value得到key值
- java Map遍历获取key,value值
- mybatis中使用map类型参数,其中key为列名,value为列值
- Map通过key获取value
- Map通过key删除value
- java map操作 key value
- Map 根据value 获取key
- Map循环获取key+value
- map 遍历key 与 value
- JAVA Socket超时浅析
- MAC地址全球唯一为什么还可以修改
- vi编辑工具
- uva 572 Oil Deposits
- 通信系统中为什么要进行调制和解调?调制的分类方法有哪些?
- C++ map<key , value> key值为指针
- 概念模型、数据模型、关系数据模型
- The method getDispatcherType() is undefined for the type HttpServletRequest错误解决方法
- 学习android的第一个程序
- 【已解决】运行Eclipse出错:Failed toload the JNI shared library
- ORACLE数据库的表管理(自学笔记)
- odbcConnectExcel is only usable with 32-bit Windows
- ios中的动画
- 全备份情况下,删除控制文件及恢复