如何在c ++中只访问unordered_set的元素?

jpb*_*123 2 c++ unordered-set c++11

对于前者,

unordered_set<int> s ;
s.insert(100);
Run Code Online (Sandbox Code Playgroud)

如何从s获得100的价值?

来自http://www.cplusplus.com/reference/unordered_set/unordered_set/begin/ ,

请注意,unordered_set对象不保证哪个特定元素被视为其第一个元素.但是,在任何情况下,从开始到结束的范围都涵盖容器(或存储桶)中的所有元素,直到无效.

所以s.begin()不会总是给我100的价值吗?

请澄清.

Jar*_*d42 8

当你只有一个元素(100),你不必为了问题,所以*begin(s)100.

但是,只要您有2个或更多元素unordered_set,就不知道哪个值是第一个(*begin(s)).