在C++primer中有个小问题不理解,请帮下忙~
在C++primer中有个小问题不是很理解,在第11章里关于iostream迭代器的
有以下几个语句:
istream_iterator <int> in_iter(cin);
istream_iterator <int> eof;
while (in_iter !=eof)
vec.pish_back(*in_iter++);
我就是对那个传递给push_back的实参不理解,他使用*又使用后自增操作符,书上解释了原因,但是我没有太看明白,请大伙能通俗点帮我解释下吗?多谢了
[解决办法]
while (in_iter !=eof)
{ int tmp = *in_iter;
++in_iter;
vec.pish_back(tmp);
}
这样懂了?
[解决办法]
首先要知道 *的优先级是小于++的,*(in_iter++),++在后面又是先用再+的,所以这句的意思应该是先取*in_iter的值,然后指针递加。