Я знаю, как это сделать на других языках, но не на С++, который я вынужден использовать здесь.
У меня есть набор строк, которые я распечатываю в списке, и им нужна запятая между каждой, но не конечная запятая. Например, в java, я бы использовал строковый конструктор и просто удалял запятую с конца после того, как я построил свою строку. Как это сделать на С++?
auto iter = keywords.begin();
for (iter; iter != keywords.end( ); iter++ )
{
out << *iter << ", ";
}
out << endl;
Сначала я попытался вставить этот блок, чтобы сделать это (перемещая здесь запятую)
if (iter++ != keywords.end())
out << ", ";
iter--;
Я ненавижу, когда маленькие вещи меня трогают.
EDIT: Спасибо всем. Вот почему я публикую такие вещи здесь. Так много хороших ответов и решаются по-разному. После семестра Java и сборки (разные классы) необходимость выполнения проекта С++ за 4 дня бросила меня на цикл. Я не только получил свой ответ, я получил возможность подумать о различных способах решения такой проблемы. Высокий.