C++中,a++、a+=1、a=a+1、++a 有什么區(qū)別?
1 回答

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
a++:a先創(chuàng)建自身的一個(gè)副本,然后a自增1,最后返回副本的值
a+=1: 事實(shí)上相當(dāng)于++a
a=a+1: 雖然有點(diǎn)雷同于a+=1,但不同的是此時(shí)右值的a和1做相加操作,形成一個(gè)副本然后賦值給a,所以有額外操作
++a:將a自增1并返回a
鑒于a++和++a的差別,C++Primer建議用++a作為for循環(huán)的遞增量。
以上討論不僅限于int,還著重于對(duì)類的重載設(shè)計(jì)時(shí)的考慮。
- 1 回答
- 0 關(guān)注
- 1084 瀏覽
添加回答
舉報(bào)
0/150
提交
取消