// 假如有一個陣列長這樣
// len = 5
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
/*========== 用 index(operator) 印出整個陣列 ==========*/
// 很簡單,應該也是大家最常用的方法
for(int i=0 ; i<len ; i++){
cout << arr[i] << endl;
}
/*========== 用 pointer(指標) 印出整個陣列 ==========*/
// begin 指向的是 1 那個位置
// end 指向的是 5 後面沒有東西的那個位置
int *begin = arr + 0;
int *end = arr + len;
int *ptr;
for(ptr=begin ; ptr!=end ; ptr++){
cout << *ptr << endl; // 1, 2, 3, 4, 5
}
int arr[] = {1, 2, 3, 4, 5};
vector<int> vec(arr, arr+5); // vec = [1, 2, 3, 4, 5]
int len = vec.size(); // len = 5
/*========== 用 index 印出整個 Vector ==========*/
// 很簡單跟陣列一樣
for(int i=0 ; i<len ; i++){
cout << vec[i] << endl;
}
/*========== 用 iterator 印出整個 Vector ==========*/
// begin 指向的是 1 那個位置
// end 指向的是 5 後面沒有東西的那個位置
vector<int>::iterator begin = vec.begin();
vector<int>::iterator end = vec.end();
vector<int>::iterator it;
for(it=begin ; it!=end ; it++){
cout << *it << endl;
}
// 跟上面的指標比較一下
// 真的很像吧