0
点赞
收藏
分享

微信扫一扫

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

颜娘娘的碎碎念 2022-02-05 阅读 65
c++

//
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 条评论