#cpp
Есть ли возможность сделать инициализацию vectorиз строки одной строкой кода? Я делаю так: vector vec; string str = "To travel you need a wish and your passport"; for (auto it : str) { vec.push_back(it); } Но хотелось бы узнать более изящный способ.
Ответы
Ответ 1
string str = "To travel you need a wish and your passport"; vectorvec(str.begin(),str.end()); Годится? Можно также vector vec(begin(str),end(str)); или, еще лучше, vector vec(cbegin(str),cend(str)); Эти варианты (begin/end и cbegin/cend, но не str.begin() и str.end()) сработают и для предложенного @Abyx constexpr char str[] = "..."; но в этом случае нужно не забывать о том, что в str входит и завершающий нулевой символ, который тоже окажется в векторе.
Комментариев нет:
Отправить комментарий