【筆記】C++ for(int a : b) 用法 (Range-based for loop)

Range-based for loop:C++11 之後才有,Array、Vector 或任何容器都可以用。

優點:程式碼更簡化。
缺點:無法獲得當前元素的索引值。

#include <iostream>
using namespace std;

int main(){
    int a[] = {1, 2, 3, 4, 5};
    for(int i : a){
    	cout << i << ' ';
    }
}

備註:int 可以改成 auto。

修改元素的值:須加上 &

因為 Range-based for loop 是「複製」元素的值。

#include <iostream>
using namespace std;

int main(){
    int a[] = {1, 2, 3, 4, 5};

    for(int& i : a){
    	i = 87;
    }

    for(int i=0; i<5; i++){
        cout << a[i] << ' ';
    }
}
發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *