【发布时间】:2014-06-11 07:43:36
【问题描述】:
我有一个应用程序在 C++ 中使用来自 STL 的 multimap。
在multimap 中,我必须将find 函数与我的自定义函数一起使用。即假设,我的多图的内容是{"Hello", "World"}, "{"Bye", "World"} and {"Foo", "Bar"}。
我想搜索本身包含“e”的键,即它应该只返回“Hello”和“Bye”。
我该怎么做?
基本上,我想定义自己的自定义相等,而不是已经定义的检查绝对相等的 find 函数?
【问题讨论】:
-
stackoverflow.com/questions/5733254/…(multimap完全一样)
-
但请注意,使用比较器会改变数据在多重映射中的存储方式:其中许多不是 OP 想要的。 (也许“e”是一个具体的例子)。
-
@Bathsheba 自定义函数将在(多)地图的整个生命周期中使用。没有办法使用不同的自定义函数,例如对
find的不同调用。 -
@n.m.我想要搜索中的自定义功能,即查找操作不在存储操作中
-
...这是这个问题的症结所在。不,您不能为查找操作使用不同的比较器。