我知道如何在其他语言中实现,但不知道如何在C++中实现,而这里必须使用C++。
我有一组字符串(keywords
),需要作为列表打印到out
,字符串之间需要逗号分隔,但不能有尾随逗号。例如在Java中,我会使用StringBuilder
构建字符串后,删除末尾的逗号。在C++中应该怎么做呢?
auto iter = keywords.begin();
for (iter; iter != keywords.end( ); iter++ )
{
out << *iter << ", ";
}
out << endl;
我最初尝试插入以下代码块来完成它(将逗号打印移至此处):
if (iter++ != keywords.end())
out << ", ";
iter--;
for(auto iter = ...;
可以让代码行数更少,但除非你明确打算在循环之后使用它,否则你应该将iter
与循环的作用域绑定。 - user229044