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