C++中cbegin迭代器学习

转自:https://cplusplus.com/reference/vector/vector/cbegin/

1.例子

返回一个指向容器首个元素的常量类型迭代器const_iterator:

int main() { 

  std::vector<int> myvector = {10,20,30,40,50};

  std::cout << "myvector contains:";

  for (auto it = myvector.rbegin(); it != myvector.rend(); ++it){
    //*it =5;//如果这里尝试要修改,那么编译时会报错error: assignment of read-only location ‘it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*<const int*, std::vector<int> >()’

    std::cout << ' ' << *it;
  }
    cout<<endl;
    return 0;
}

而使用普通的begin()/end()可以直接通过*it修改值。

 

posted @ 2024-05-08 00:04  lypbendlf  阅读(14)  评论(0编辑  收藏  举报