C++ primer(第五版) 练习 4.31
题目:
本节的程序使用了前置版本的递增运算符和递减运算符,解释为什么要用前置版本而不用后置版本。
要想使用后置版本的递增递减运算符需要做哪些发动?使用后置版本重写本节的程序。
书上原来的示例:
vector<int>::size_type cnt = ivec.size();
for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix, --cnt)
ivec[ix] = cnt;
疑惑:分别测试了两个前置跟后置,在完全不改动别的代码,只改动 ix 和cnt 递增运算符和递减运算符 前置和后置的情况下
结果是一样的。
如下面两张图所示,这两次的代码,不同之处只是两个变量的前置或者后置,但得到的结果是一样的
那么对于题目该怎么解释呢??需要改动干什么呢??
前置的结果:
后置结果: