http://bbs.csdn.net/topics/390764053

a++得到的是一个右值,++操作需要的是一个左值。

------------------------------------------------------

a++返回的是一个右值,不对再++了,可以写成
++(++a)

 

http://www.2cto.com/kf/201409/333447.html

a++的意思是先复制一份临时数据出来参与周边环境的运算,再自加变量a,可见a++用来参与运算的是一份复制出来的临时数据,这个数据是临时存在而没有固定地址的,不是一个真正的变量。++a的意思是先自加变量a,再将变量放到周边环境参与运算,那么++a用来参与运算的是有具体地址的变量,所以++a是可以作为左值使用的。

在具体一点可以理解为:

a++返回一个临时变量

++a返回变量的引用

 

相关文章:

  • 2022-01-08
  • 2022-12-23
  • 2022-02-04
  • 2022-12-23
  • 2021-12-18
  • 2021-09-10
  • 2022-01-27
猜你喜欢
  • 2021-07-22
  • 2021-12-13
  • 2022-12-23
  • 2022-02-17
  • 2022-02-24
  • 2022-12-23
  • 2021-12-10
相关资源
相似解决方案