C++ 0x正在引入unordered_set,可以在boost许多其他地方使用.我理解的是unordered_set具有O(1)查找复杂性的哈希表.另一方面,set只是具有log(n)查找复杂性的树.为什么人们会使用set而不是unordered_set?即是否需要set了?
在这里http://www.cplusplus.com/reference/stl/set/我读到用C++中的std :: set"通常"实现为树(红黑色?)并对其进行排序.
我无法理解,这是否意味着通过规范迭代的顺序总是提升?或者它只是"通常的实现细节",有时,某些库/编译器可能违反此约定?