for( auto i:v ) ____ for( auto &i:v )

阅读 65

2022-02-05

//
for( auto i:v ) ____ for( auto &i:v )

c++11 新标准 —— range for 语句 (其中 v 为 stl 容器)

    01 for( auto i:v ) { ... }   作用: i 逐一获得容器 v 元素的拷贝 但无法改变容器中的元素
    02 for( auto &i:v ) { ... }  作用: i 逐一获得容器 v 元素的引用 可以改变容器中的元素

// eg.
#include<bits/stdc++.h>
using namespace  std;

int main()
{
    vector<int> v;
    for( int i=0;i<11;i++ ) v.push_back(i);
    
    // 01
    for( auto a:v ) printf("%d ",a);    // auto
    printf("\n");

    // 02
    for( auto &a:v ) { a++; printf("%d ",a); }
    printf("\n");
    
    return 0;
}

精彩评论(0)

0 0 举报