存储对象列表的最佳标准类?

Jer*_*oen 0 c++ boost list std

什么是表示未编制索引列表的类,其中包括检查对象是否在列表中?

list<char> list;
list.add("obj");
if(list.inlist("obj")) doStuff();
list.remove("obj");
Run Code Online (Sandbox Code Playgroud)

优选地,该类必须在标准库或增强库中,但如果您知道任何其他方法,则无论如何都应该回答,因为它可能是有趣的.

我知道有一个std::list类,但它没有我正在寻找的功能.(检查对象是否在列表中)

rub*_*nvb 6

这是一个用例std::unordered_set.这可以跟踪重复项,而无需保留订购的开销.


Erb*_*ica 5

如果只需要查找对象,可以使用std::setstd::multiset

如果C++ 11是一个选项,你可以使用它们的无序 对应物

  • 如果对象是可哈希的并且顺序无关紧要,请考虑使用`std :: unordered_set`. (2认同)