У меня есть набор данных, который в некоторых случаях мне нужно отсортировать одним способом, а в некоторых - другим. Например, предположим, что набор данных представляет собой набор строк {"abc", "dfg", ...}. Иногда мне нужно отсортировать их в алфавитном порядке, а иногда сравнивать их длину.
Первоначально я использовал std :: set в качестве контейнера моих данных и реализовал 2 компаратора, надеясь, что я смогу изменить компаратор набора на лету, потому что данные огромны, и копировать их из один набор в другой .. Я просто хочу отсортировать его, время от времени используя разные компараторы. Возможно ли это или как это сделать?