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