Разница между std::set и std::unorderedset в C++ заключается в том, что std::set хранит уникальные элементы в отсортированном порядке, а std::unorderedset — в неупорядоченном. 23
std::set подходит для задач, где нужно быстро проверять наличие элементов, не беспокоясь о дубликатах. 2 std::unordered_set обеспечивает быстрые операции вставки, удаления и поиска за счёт использования хеш-таблички. 2
Таким образом, основное различие в том, что std::set упорядочивает элементы (по умолчанию по возрастанию), а std::unordered_set не упорядочивает их. 1
Выбор между этими контейнерами зависит от конкретных требований и задач программиста.