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