CMap如何key为字符串,值为int

简介: CMap如何key为字符串,值为int

CMap如何key为字符串,值为int

操作系统:WinXP

开发环境:VS2002 VS2005

CMap<CString, LPCTSTR, int, int>& mapPageNo 会报错,大意是没有哈希函数。VC的第版本只实现了3个函数函数,以此为基础加一个CString的函数就可以了。

通用的方法是定义成CMap<CString, LPCTSTR, int, int>:



也可自定义哈希函数。

#if _MSC_VER >= 1100
template<> UINT AFXAPI HashKey<CString> (CString key)
{
    return HashKey((LPCTSTR)key);
}
#else // _MSC_VER >= 1100
UINT AFXAPI HashKey(CString key)
{
    return HashKey((LPCTSTR)key);
}
#endif
void Ctest3Dlg::OnBnClickedButton1()
{
    CMap<CString,CString,int,int> a;
    a["dc"] = 3;
    int x = a["dc"];
}

=================


Win7+VC6



char s1[] = "a";
 char s2[] = "a";
 CMap<const char*,const char*,int,int> m;
  m[s1]++;
 m[s2]++;


结果 m有两个元素


改成


CMap<CString,const char*,int,int> m;


就对了。


原因,默认情况下:


获取hash(哈希)实现了const char*,没实现CString, ==实现了CString,没实现const char*




相关文章
|
12月前
|
Go
go string to int 字符串与整数型的互换
go string to int 字符串与整数型的互换
63 0
遍历字符串,String line = xxx for(int i = 0;i<line.length();i++){system.out.println(line.chartAt(i)); 单个
遍历字符串,String line = xxx for(int i = 0;i<line.length();i++){system.out.println(line.chartAt(i)); 单个
|
4月前
|
存储 Python
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
|
6月前
|
Java
java 数组转字符串 和字符串转int
【4月更文挑战第11天】java 数组转字符串 和字符串转int
91 2
|
6月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
173 2
|
6月前
|
Java
Java中Long转Int转字符串Int转Long以及Int超出长度判断
Java中Long转Int转字符串Int转Long以及Int超出长度判断
62 0
|
SQL Java 数据库连接
对于mybatis if标签对 byte int 等非字符串和字符串判断的问题
对于mybatis if标签对 byte int 等非字符串和字符串判断的问题
|
算法 Java API
【算法】字符串转int类型思路及代码
【算法】字符串转int类型思路及代码
150 0
|
C#
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
58 0
|
6月前
|
数据采集 分布式计算 数据处理
Dataphin常见问题之与指定类型int不兼容如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。