假如a为int类型,初始值为10。经过++(++)a和(a++)++后的值为多少呢?我想很多人应该会回答是14。错了,应该为13。而且可能编译通不过。因为前递增运算(++a)返回的是对象引用,而后递增运算(a++)采用值返回。这样的话(a++)++就是错误的了,因为a++返回的不是左值,不能再进行递增运算。 }; |
C++中重载和使用增量运算符(++)时应注意的事
发帖者
coolzgx
时间:
3/13/2009
订阅:
博文评论 (Atom)
人生的过程,不断学习、不断向前迈进的过程
假如a为int类型,初始值为10。经过++(++)a和(a++)++后的值为多少呢?我想很多人应该会回答是14。错了,应该为13。而且可能编译通不过。因为前递增运算(++a)返回的是对象引用,而后递增运算(a++)采用值返回。这样的话(a++)++就是错误的了,因为a++返回的不是左值,不能再进行递增运算。 }; |
没有评论:
发表评论