C++ 具有优化查找的容器,如std::map,但非关联

C++ 具有优化查找的容器,如std::map,但非关联,c++,c++11,C++,C++11,我有一个大的std::vector,在那里我必须得到一个迭代器,这样我就可以调用它的其他函数,比如erase。在向量中循环查找我要搜索的元素需要很多时间 std::map::find()的速度要快得多,但我不想为第二个值分配内存,因为我永远不会使用第二个值 是否有任何带有find()的单值容器,或者任何可以提供与std::map::find速度类似的迭代器的容器?我找不到任何。您正在寻找或。您正在寻找或。您可以使用std::unordered\u map或使用相同的std::vector来保持元

我有一个大的
std::vector
,在那里我必须得到一个迭代器,这样我就可以调用它的其他函数,比如
erase
。在向量中循环查找我要搜索的元素需要很多时间

std::map::find()
的速度要快得多,但我不想为第二个值分配内存,因为我永远不会使用第二个值


是否有任何带有
find()
的单值容器,或者任何可以提供与
std::map::find
速度类似的迭代器的容器?我找不到任何。

您正在寻找或。

您正在寻找或。

您可以使用
std::unordered\u map
或使用相同的
std::vector
来保持元素的顺序,您可以为排序容器应用标准算法,例如
std::equal\u range
您可以使用的
std::unordered_map
或使用相同的
std::vector
来保持元素的顺序,您可以对已排序的容器应用标准算法,例如
std::equal_range