gpt4 book ai didi

c++ - C++中的unordered_set是否存在任何顺序?

转载 作者:行者123 更新时间:2023-12-03 07:06:55 25 4
gpt4 key购买 nike

int main(){
unordered_set<int> S;
S.insert(1);
S.insert(10);
S.insert(100);
S.insert(64);

for(auto &x: S){
cout<<x<<" ";
}
cout<<endl;
S.erase(S.find(1),S.end());
for(auto &x: S){
cout<<x<<" ";
}

}
输出:
64 1 100 10 
64
每个IDE每次都相同。 unordered_set不使用哈希吗?
哈希没有命令。

最佳答案

确实,这是一个可怜的名字。我相信C++标准委员会希望将其称为std::hash_set,但是在C++ 11进行标准化之前,流通的所谓std::hash_set太多了。 std::unordered_map也是如此:请参见针对C++ 03及更早版本的Boost发行版的hash_map
在散列桶已排序的范围内,它们确实是有序的,但需要说明的主要一点是,您不必关心该顺序。
(幸运的是,在C++ 17中,boost::optional变成了std::optional:希望可以吸取教训,并避免使用std::discretionary之类的东西。)

关于c++ - C++中的unordered_set是否存在任何顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64135332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com