zoukankan      html  css  js  c++  java
  • C++11中vector的几种遍历方法

    假设有这样的一个vector:

    vector<int> line={1,2,3,4,5,6,7,8,9};

    需要输出vector里的每个元素,主函数如下:

    void showvec(const vector<int>& line)
    {
    }
    
    int main(int argc, char** argv) {
      vector<int> line = {1, 2, 3, 4, 5, 6, 7, 8, 9};
      showvec(line);
      return 0;
    }
    

    方法一:for循环迭代器输出

    void showvec(const vector<int>& line) {
      for (vector<int>::const_iterator iter = line.cbegin();iter != line.cend(); iter++) {
        cout << (*iter) << endl;
      }
    }

    或者使用c++新增的语义auto

    void showvec(const vector<int>& line) {
      for (auto iter = line.cbegin(); iter != line.cend(); iter++) {
        cout << (*iter) << endl;
      }
    }

    方法二:for_each加函数

    template <typename T>
    void printer(const T& line) {
      cout << line;
      cout << endl;
    }
    
    void showvec(const vector<int>& line) {
      for_each(line.cbegin(), line.cend(), printer<int>);
    }

    方法三:for区间遍历

    for (auto lin : line) {
        cout << lin;
      }
    

      

  • 相关阅读:
    SQL 函数以及SQL 编程
    查询练习(四十五道题)
    SQL server 高级查询
    SQL server 数据库 操作及简单查询
    T-SQL 语句
    SQL
    表单验证、实则表达式、事件
    视频插入代码
    插入地图
    网页布局小练
  • 原文地址:https://www.cnblogs.com/darklights/p/11484639.html
Copyright © 2011-2022 走看看