Если вы не хотите, чтобы на самом деле изменить «переменные», то вы могли бы сделать что-то вроде
// TODO: Put your own variables here, in the order you want them
auto variables = { a, b, c, .... };
// Concatenate all strings
std::string result = std::accumulate(std::begin(variables), std::end(variables), "",
[](std::string const& first, std::string const& second)
{
return first + ' ' + second; // To add spacing
});
Обратите внимание, что это требует, чтобы все «переменные», чтобы быть того же типа (std::string
). Если у вас есть переменная, которая не является строкой, вы можете использовать std::to_string
для их преобразования на первом шаге.
вы даже не можете создать 'std :: vector'. –
juanchopanza
Как правило, вы не можете. Тем не менее вы можете создать временный вектор, содержащий * копии значений * переменных. –
@JoachimPileborg - это скопирует переменные, да? –