Fork me on GitHub

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 }

打印结果:

 

 

 

 

 

 

 

 

=========================================================================================================================

posted @ 2020-04-22 03:27  索智源  阅读(796)  评论(0编辑  收藏  举报