使用 C 中的标准映射,使用键的默认比较器执行键比较,通常按字符串的字典顺序进行比较。但是,在某些情况下,您可能需要定义自己的比较逻辑。
自定义键比较:
要覆盖默认比较器,请指定自定义比较器作为构建地图时的第三个模板参数。例如,要根据字符串长度比较键:
<code class="cpp">struct LengthComparator { bool operator()(const std::string& lhs, const std::string& rhs) const { return lhs.length() < rhs.length(); } }; std::map<std::string, std::string, LengthComparator> lengthMap;</code>
对映射进行排序的替代方法:
如果您不想定义自定义比较器,则可以可以使用其他方法对映射进行排序:
注意: 按长度比较键时,请注意每个长度只能有一个实例作为映射中的键存在。
以上是如何重写 C 映射中的关键比较器?的详细内容。更多信息请关注PHP中文网其他相关文章!