我是靠谱客的博主 酷酷唇彩,最近开发中收集的这篇文章主要介绍C++ 中使用for循环和迭代器遍历容器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

之前一直看的是第四版的《C++ Primer》,里面貌似只介绍了用迭代器遍历容器(可能是受当时版本所限),这里记录下如何用for循环来遍历容器(也可遍历普通数组)

class Solution{
    // C++ 中默认的成员函数类型是private, 从java转过来的程序员需要注意;
public:
    void traverse_for(vector<int> vec) {
        for(int i:vec) {
            cout<<i<<endl;
        }
    }

    void traverse_for(map<string, int> my_map) {
        for(pair<string, int> m:my_map) {
            cout<<m.first<<":"<<m.second<<endl;
        }
    }

    void traverse_iter(vector<int> vec) {
        vector<int>::iterator it = vec.begin();
        while(it!=vec.end()) {
            cout<<*it<<endl;
            it++;
        }
    }

    void traverse_iter(map<string, int> my_map) {
        map<string, int>::iterator it=my_map.begin();
        while(it!=my_map.end()) {
            cout<<it->first<<":"<<it->second<<endl;
            it++;
        }
    }
};


int main() {
    Solution solution;
    int arr[] = {1,2,3,4,5};
    vector<int> vec(begin(arr), end(arr));

    map<string, int> my_map;
    my_map["apple"] = 1;
    my_map["banana"] = 2;
    my_map["orange"] = 3;

    solution.traverse_for(vec);
    cout<<"=================="<<endl;
    solution.traverse_for(my_map);
    cout<<"=================="<<endl;
    solution.traverse_iter(vec);
    cout<<"=================="<<endl;
    solution.traverse_for(my_map);
    return 0;
}

这种for循环遍历跟之前用python的for each的方式很像,非常好用。

最后

以上就是酷酷唇彩为你收集整理的C++ 中使用for循环和迭代器遍历容器的全部内容,希望文章能够帮你解决C++ 中使用for循环和迭代器遍历容器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部