2010-02-23 52 views
0

为什么在C++中前缀返回一个引用,但后缀返回一个值?C++中前缀和后缀的返回值

+1

Scott Meyers在更有效的C++中涵盖了这一点。 – HeretoLearn 2010-02-23 03:28:47

+1

写无意义。我想你的意思是询问前后增量和减量运算符。在各种情况下讨论(偶尔会详细讨论):尝试http://stackoverflow.com/search?q=i%2B%2B+%2B%2Bi+[c%2B%2B查找一些现有案例。 – dmckee 2010-02-23 03:32:44

回答

3

因为前缀修改对象,然后返回它(所以可以左值),并与后缀返回未改变的对象(即副本),然后才进行更新(这是当然的做的首先将副本存储在临时文件中,更新原始对象,然后按值返回临时值。)