У меня есть std::string
. Я хочу набор уникальных символов в нем, причем каждый символ представлен как std::string
.Как я могу получить std :: набор символов в строке, как строки?
я могу получить набор символов легко:
std::string some_string = ...
std::set<char> char_set(some_string.begin(), some_string.end());
И я мог бы преобразовать их в строки, как это:
std::set<std::string> string_set;
for (char c: char_set) {
string_set.emplace(1, c);
}
Но такой подход кажется неуклюжим. Есть ли лучший способ (предпочтительнее стандартная библиотека с одним слоем) для этого?
Что кажется неуклюжим именно? Мне все это кажется неудобным. Зачем вам это делать? – Shoe
@Jefffrey У меня есть отвращение к циклу, когда он не использует стандартную библиотеку, я имею в виду, мгновенный O (* n *). Я хочу сделать это, потому что я возьму объединение этого набора с другим набором 'std :: string', поэтому оба набора должны иметь один и тот же тип. – EMBLEM
@EMBLEM Итак, у нас в основном есть проблема XY? – Columbo