我有一个到 int 的无序映射字符串,它使用定义为的自定义 equal_to 函数:
bool hashEqual::operator ()(const string &a, const string &b) const
{
if (a.size() != b.size())
return false;
return std::inner_product(
a.begin(), a.end(), b.begin(),
0, std::plus<unsigned int>(),
std::not2(std::equal_to<std::string::value_type>())
) <= 8;
}
基本上,如果两个键的汉明距离等于或小于 8,则它的作用是相同的键。
问题是我希望距离阈值是动态的,以便让用户通过命令行设置它。而不是 8,一个可变阈值或类似的东西。
我不是在寻找像全局变量这样的技巧(除非它是实现这一目标的唯一方法),而是在寻找“好方法”。