小编Jee*_*Jee的帖子

不要使用迭代器打印最后一个值之后的空格

我在竞争性编程中遇到了初学者概念的问题
打印中的额外空间可能会导致错误的答案判断
我想迭代像地图或集合这样的容器,但最后一个值不应该有空格

#include <iostream>
#include <set>

using namespace std;

int main()
{
    set<int> st = {1,2,3};
    for(auto x : st){
        cout<<x<<" ";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能这样做
set<int> st = {1,2,3};
    for(auto x = st.begin(); st!=end();x++){
        if(x!=st.end()-2) cout<<x<<" ";
        else cout<<x;
    }
Run Code Online (Sandbox Code Playgroud)

c++ iterator for-loop set range-based-loop

3
推荐指数
1
解决办法
179
查看次数

标签 统计

c++ ×1

for-loop ×1

iterator ×1

range-based-loop ×1

set ×1