11
我想使用STL的地图容器使用二进制数据作为一键查找一个指针,所以我写了这个自定义函数对象:STL地图自定义比较函数对象
struct my_cmp
{
bool operator() (unsigned char * const &a, unsigned char * const &b)
{
return (memcmp(a,b,4)<0) ? true : false;
}
};
,并用它是这样的:
map<unsigned char *, void *, my_cmp> mymap;
这编译并似乎工作,但我不知道一个“无符号char * const的&”的类型是什么,为什么它不只有“无符号字符*”工作?
'return memcmp(a,b,4)<0;' – 2010-01-13 15:16:02