i++与++i 的区别 i++先取值再自增 ++先自增再取值 i++与++i 的效率及底层原因 ++i 效率更高,因为计算机的编译器在编译 i++时会 首先临时复刻一份 i 的值, 然后对原来的 i 自增, 最后返回复刻的临时值, 所以 i++ 是一个右值,如果对其赋值就会报错,编译失败. (左值:简单理解为可以合法对其取地址;右值:取地址不合法) 而对于 ++i 会 首先完成自增操作, 然后返回自身的值; 所以 ++i 是一个左值,对比 i++ 会少一步复制出临时变量的操作.所以效率更高.