读书人

在C++primer中有个小疑点不理解,请帮下

发布时间: 2012-02-15 12:09:44 作者: rapoo

在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的值,然后指针递加。

读书人网 >C++

热点推荐