当我使用std :: list时,我有方法" back()":
for ( it = list->begin(); it != list.back(); it++ ) {
cout << it.getName() << ", ";
}
cout << it.getName() << endl;
输出:(元素,元素,元素)
std :: set没有成员back(),我不能输出最后一个元素而没有&#34;,&#34;:
输出:(元素,元素,元素)
答案 0 :(得分:0)
这对于大多数用途来说已经足够了:
for (auto it = list.begin(); it != list.end(); ++it)
{
if (it != list.begin()) cout << ", ";
cout << it->getName();
}
如果您想在输出周围添加(
)
,只需在循环的任一侧添加cout
。
如果你疯狂地将条件限制在循环之外:
if (!list.empty())
{
auto it = list.begin();
cout << it->getName();
while (++it != list.end())
cout << ", " << it->getName();
}