C++迭代器(iterator)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/cccccly1/article/details/81264142