STL—— 容器(vector)begin() 与 rbegin() , end() 与 rend()
1. Vector 迭代器首地址与尾地址 begin() 和 end()
在代码中可以将迭代器用作参数的位置可以使用 begin() 和 end() 获取地址,如下代码:
1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8 int test[] = { 111,222,333,444,555,666 }; 9 vector<int>num(test, test + 6); 10 11 vector<int>::iterator it = num.begin(); 12 13 while (it != num.end()) 14 { 15 cout << *it++ << endl; 16 } 17 18 return 0; 19 }
打印结果:
2.Vector 迭代器反向的首地址与尾地址 rbegin() 和 rend()
如果使用 rbegin() 和 rend() 那么将会反过来输出,如下代码:
1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8 int test[] = { 111,222,333,444,555,666 }; 9 vector<int>num(test, test + 6); 10 11 vector<int>::reverse_iterator rIt = num.rbegin(); //注意,这里需要用 reverse_iterator 类型的 rIt 来接受返回值,不能用 iteratior 12 13 while (rIt != num.rend()) 14 { 15 cout << *rIt++ << endl; 16 } 17 18 return 0; 19 }
打印结果:
=========================================================================================================================