c++表达式

  • a+=(a++)    先计算a++ ,因为a为后++,a左边是左值不会报错 ;
  • a+=(++a)    先计算+a,因为a为前++, a左边是左值不会报错 ;
  • (a++) += a  这个是错误的。因为左值只能是变量,不能是表达式,(a++)是后++, 所以a不会先计算a++,是表达式,。所以会报错。
  • (++a) +=(a++) 先计算++a,然后再去计算a +=(a++) ,所以左边也是左值 ;   
原文地址:https://www.cnblogs.com/upup-2015/p/5060772.html