Преимущества использования std::set вместо std::map в программировании заключаются в том, что std::set предназначен для хранения уникальных элементов в отсортированном порядке, в то время как std::map используется для пар ключ-значение. 14
Например, если нужно просто хранить уникальные ключи без ассоциированных значений и важен порядок, то предпочтительнее использовать std::set. 2 Если же требуется таблица поиска для сопоставления ключей значениям, при этом ключи должны быть уникальными, то лучше выбрать std::map. 2
Также в контейнере std::set не допускается изменение значений, а в std::map тип ключа нельзя изменить, но значение ассоциированных ключей можно менять по мере необходимости. 2
Выбор между этими контейнерами зависит от конкретной задачи программирования.