Osh*_*sho 3 c++ pointers iterator vector
我做了一个v[-5,-3]的向量。我iti为它的开头分配了一个迭代器,然后将另一个迭代器分配itj为iti+1. 由于我的向量只有 2 个元素,我认为这itj被认为是向量的结尾或v.end(). 但事实并非如此。
任何想法为什么会发生这种情况?
vector<int>v;
v.push_back(-5);
v.push_back(-3);
vector<int>::iterator iti, itj;
iti = v.begin();
itj = iti + 1;
if(itj==v.end())
cout << "1";
else
cout << "2";
Run Code Online (Sandbox Code Playgroud)
为什么这会打印出“2”而不是“1”?
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |