关于C++Primer第三版3.3节最后一个例子的疑问
就是用指针的算术加法遍历一个数组
int ia[ 10 ];
int *iter = &ia[0];
int *iter_end = &ia[10];
while ( iter != iter_end ) {
do_something_with_value( *iter );
++iter; // 现在 iter 指向下一个元素
}
我现在的疑问是:
c/c++里面,数组ia[10]的元素应该是从ia[0]-ia[9],
ia[10]显然不是ia[10]这个数组的元素吧?
那int *iter_end=&ia[10]之后,iter_end作为while循环的条件判断是什么意思呢?
菜鸟想不明白,求教各位了。
[解决办法]
int *iter_end = &ia[10];这个是为了得到数组最后一位的下一位的指针
当你while ( iter != iter_end )时候就表示不能等于下一位,这还是比较容易理解