Я знаю, что люди используют unordered_set
, когда они не заботятся о порядке элементов в наборе. Тем не менее, когда я запускаю пример программы на C++ ShellКак unordered_set определяет порядок вставки в C++?
#include <iostream>
#include <unordered_set>
#include <string>
int main()
{
std::unordered_set<std::string> inputSet;
inputSet.insert("Hello world");
inputSet.insert("Abcdef");
inputSet.insert("This is the test string...");
for(const auto &val : inputSet)
std::cout << val.c_str() << std::endl;
return 0;}
это дает мне
This is the test string...
Abcdef
Hello world
И я попытался запустить его в течение 3 или 4 раза, она по-прежнему дает мне тот же результат, который подразумевает, что это способ, которым unordered_set
определяет порядок вставки.
Может кто-нибудь объяснить, как unordered_set
определить порядок вставки?
Извините, если он был задан раньше, я искал в Интернете какое-то время, и я не могу найти конкретный ответ на этот вопрос. Заранее спасибо.
Зачем вам все равно знать? Вы ни в коем случае не должны полагаться на заказ. – mclaassen
@mclaassen Когда-нибудь у нас должно быть любопытство. –