版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cccccly1/article/details/81264142
c++迭代器(iterator)
1.遍历容器(正向)
std::vector<int> myvector;
for (int i=1; i<=5; i++) myvector.push_back(i);
std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
2. 遍历容器(反向)
std::vector<int> myvector (5); // 声明有大小为5
int i=0;
std::vector<int>::reverse_iterator rit = myvector.rbegin();
for (; rit!= myvector.rend(); ++rit)
*rit = ++i;
std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin(); it != myvector.end(); ++it)
std::cout << ' ' << *it; // 5 4 3 2 1
std::cout << '\n';
3.distance函数(计算first到last中间元素个数)
std::list<int> mylist;
for (int i=0; i<10; i++) mylist.push_back (i*10);
std::list<int>::iterator first = mylist.begin();
std::list<int>::iterator last = mylist.end();
std::cout << "The distance is: " << std::distance(first,last) << '\n'; // 10