a++, a+=1,a=a+1,++a 四者的區別

a++:a先創建自身的一個副本,然後a自增1,最後返回副本的值
a+=1: 事實上相當於++a
a=a+1: 雖然有點雷同於a+=1,但不同的是此時右值的a和1做相加操作,形成一個副本然後賦值給a,所以有額外操作
++a:將a自增1並返回a
鑑於a++和++a的差別,C++Primer建議用++a作爲for循環的遞增量。
以上討論不僅限於int,還着重於對類的重載設計時的考慮。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章