带有 std::begin() 的 const_iterator 和带有 std::cbegin() 的 const_iterator 有什么区别?

时间:2021-04-25 09:23:17

标签: c++11 iterator const-iterator

如果 cbeginstd::vector<int>::const_iterator itr 会做同样的事情,为什么我们需要 std::begin? 使用第一个循环(UB 或其他东西)有什么问题吗?两个循环都给出了与预期相同的结果。

int main()
{
  std::vector<int> A = { 1, 2, 3, 4 ,5 ,6, 7};

  for(std::vector<int>::const_iterator itr = begin(A); itr!= end(A); itr++)
  {
    //*itr = 10;//Error
    cout<<*itr<<endl;
  }

  for(std::vector<int>::const_iterator itr = cbegin(A); itr!= cend(A); itr++)
  {
    //*itr = 10;//Error
    cout<<*itr<<endl;
  }

}

0 个答案:

没有答案
相关问题