基于读取的https://en.cppreference.com/w/cpp/container/unordered_set/emplace,它指出:仅当新的元素数大于max_load_factor()* bucket_count()时,才进行重新哈希处理。
使用此代码:
int main()
{
unordered_set<int> myset;
myset.emplace(4);
cout << myset.bucket_count() << endl;
cout << myset.max_load_factor() << endl;
auto it = myset.begin();
myset.emplace(3);
cout << (it == myset.begin()) << endl;
}
[当我第二次放置时,没有重新哈希(桶数为2,最大负载系数为1,就在第二次放置时,这不超过新的元素数2),但是我的begin()
迭代器更改。为什么即使没有重新哈希,此迭代器也会无效/更改?