zoukankan      html  css  js  c++  java
  • 基于范围的for循环(C++11)

    C++11新增了一种循环:基于范围的for循环。这简化了一种常见的循环任务:对数组(或容器类,如vector和array)的每个元素执行相同的操作,如下例所示

    for语句允许简单的范围迭代:(只遍历,不修改)

        int arrayData[] = {1, 2, 3, 4, 5};
    
        for(int x : arrayData)
            cout << x << " ";
        cout << endl;
    
        string str("some string.");
    // auto 类型也是 C++11 新标准中的,用来自动获取变量的类型
    for(auto c : str) cout << c << " "; cout << endl;

    其中,x最初表示数组arrayData的第一个元素。显示第一个元素,不断执行循环,而x依次表示数组的其他元素。因此,上述代码显示全部的5个元素。总之,该循环显示数组中的每个值。

    auto 类型也是 C++11 新标准中的,用来自动获取变量的类型。

     

    要修改数组的元素,需要使用不同的循环变量语法:(边遍历,边修改)

        int arrayData[] = {1, 2, 3, 4, 5};
    
        for(int &x : arrayData)
        {
            x++;
            cout << x << " ";
        }
        cout << endl;
    
        string str("some string.");
        for(auto &c : str)
        {
            c = toupper(c);
            cout << c << " ";
        }
        cout << endl;

     上述的程序使用for语句遍历arrayData数组,每个数组元素乘2;使用for语句遍历一个字符串,并将所有字符全部变为大写;

     

     参考链接:

    C++for循环

    基于范围的for循环(C++11)

    C++11基于范围的for循环

  • 相关阅读:
    CSS3--box-shadow
    C#快捷键
    c#基础3
    C#基础2
    C#基础
    javascript 字符串总结
    javasrcipt中的for in 循环
    javascript复习总结
    结构体数组排序
    ArrayList集合排序
  • 原文地址:https://www.cnblogs.com/zkfopen/p/10630731.html
Copyright © 2011-2022 走看看