基于范围的for循环

#include <iostream>
#include <algorithm>  
#include <vector>  
using namespace std;

vector<int> my_array = { 1, 2, 3, 4, 5 };

方式一:原始方法

for (int x = 0; x < my_array.size(); x++)
    {
        my_array[x] *= 2;
        cout << my_array[x] << endl;
    }

方式二:用迭代器

for (auto it = my_array.begin(); it != my_array.end(); ++it)
    
    {
            *it *= 2;
            cout << *it << endl;
    }

方式三:C++11特性,加&可以修改vector中的元素

vector<int> my_array = { 1, 2, 3, 4, 5 };
    // 每个数组元素乘于 2
    for (int &x : my_array)
    {
        x*= 2;
        cout<<x<<endl;
    }

方式四:无&只能输出vector中的元素,不能修改

vector<int> my_array = { 1, 2, 3, 4, 5 };
    // 每个数组元素乘于 2
    for (int x : my_array)
    {    
        cout<<x<<endl;
    }

方式五:auto自动推断类型

 for (auto &x : my_array) {
        x *= 2;
        cout<<x<<endl;
    }

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐