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] << ' ';
}
}