C ++指针后增加陌生感

时间:2014-10-27 10:55:06

标签: c++ pointers c++11 post-increment

在我的cout声明中:

cout << ia[cnt++] << "\t" << *beg << "\t" << beg++ << endl;

beg++影响早期*beg语句的输出,我无法理解为什么?

完整代码:

int ia[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int *beg = begin(ia);   // pointer to the first element in ia
int *last = end(ia);    // pointer one past the last element in ia
int cnt = 0;

while (beg != last)
{
    cout << ia[cnt++] << "\t" << *beg << "\t" << beg++ << endl;
}

beg的增量移到cout语句之后会导致代码按照我的预期运行。有人可以解释一下这里发生了什么吗?

0 个答案:

没有答案