创建语法列表(用逗号)时,很多时候,我使用类似于以下的代码:

std::stringstream list;
int i = 0;
for (auto itemListIt = itemList.begin(); itemListIt != itemList.end(); itemListIt++)
{
    list << *itemListIt;
    if (i < itemList.size() - 1) list << ", ";
    i++;
}
是否有一些更简洁的方法,也许没有额外的变量“i”?

最佳答案

为什么不测试您真正感兴趣的东西? “在这个元素之后还有另一个元素吗?”。

std::stringstream list;
for (auto it = roomList.begin(); it != itemList.end(); it++)
{
    list << *it;
    if ( it+1 != itemList.end() ) list << ", ";
}

关于c++ - 如何在没有其他变量的情况下获得当前头寸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9715507/

10-11 02:10