c++表达式 a+=(a++) 先计算a++ ,因为a为后++,a左边是左值不会报错 ; a+=(++a) 先计算+a,因为a为前++, a左边是左值不会报错 ; (a++) += a 这个是错误的。因为左值只能是变量,不能是表达式,(a++)是后++, 所以a不会先计算a++,是表达式,。所以会报错。 (++a) +=(a++) 先计算++a,然后再去计算a +=(a++) ,所以左边也是左值 ;