Если вы собираетесь загрузить список один раз, затем использовать его несколько раз, тогда использование std :: vector вместо std :: set, вероятно, будет более эффективным в использовании памяти и итерации по нему.
Если вы собираетесь постоянно добавлять и удалять элементы, вам обязательно следует использовать std :: set.
Для общего назначения используйте std :: set, потому что это менее трудоемко (построение вектора требует сортировки и удаления дубликатов после того, как вы закончили добавлять все элементы), если только у вас нет особой потребности в эффективности при низком использовании памяти или какой-то другой удар по производительности, который указывает, что требуется вектор.