理解前置自增自减++(--)和后置自增自减++(--)


文章目录

  • 一、前置自增和后置自增的优先级和结合性(自减类似)

本文是博主学习笔记,如有错误,请多多指正
一、前置自增和后置自增的优先级和结合性(自减类似) 后置自增(i++)优先级 > 前置自增(++i)优先级
后置自增为左结合,前置自增为右结合
int a = 1; int b = 1; int c = 0; int d = 0; c = ++a; d = b++; //这里注意赋值运算符的优先级是低于自增的 cout << a << ' ' << b << ' ' << c << ' ' << d <

这是新手常犯错误,虽然后置自增优先级高于前置自增,并且加后赋值优先级低于前置自增和后置自增,但是d的结果输出不一样主要是自增自减操作的特性。
可以将自增自减操作近似理解为函数操作:
++b(int & x) {return x = x+1; } a++(int &x){int b = x; x += 1; return b; }

【理解前置自增自减++(--)和后置自增自减++(--)】其具体原理涉及汇编原理,有兴趣的小伙可以自行了解。本文只是帮助理解。

    推荐阅读