C++ 循环条件判断常用"!="
而不用"<"
或"<="
其原因在于所有的标准库容器的迭代器都定义了==
和!=
,但其中大多数并没定义<
运算符。因此当习惯于用迭代器和!=
,就不用太在意用的是哪一种容器类型。
进而引入迭代器运算符end:
auto e=v.end()//e表示v的尾元素下一位置
for(auto it=v.begin();it!=e;it++)//循环条件设置迭代器不指向e
在数组中也引入end函数
int arr[]={0,1,2,3,4,5,6,7,8,9};
int *e=&arr[10];//e指向尾元素下一个位置
int *last=end(arr)//end函数实现尾元素下一位置
for(int*b=arr;b!=e;++b)
cout<<*b<<endl;