有问题在 stdmap中使用 char 作为键,建议使用自定义比较函数/函子:
struct cmp_str
{
bool operator()(char const *a, char const *b)
{
return std::strcmp(a, b) < 0;
}
};
map<char *, int, cmp_str> BlahBlah;
这允许 map 检测 key A 是否小于key B。但是例如 map<>::find()如果未找到元素则返回end,如果找到则返回它的迭代器。所以 map 知道等价,而不仅仅是小于。如何?