課程
/后端開發(fā)
/C++
/C++遠征之封裝篇(下)
(p++)->x 為什么是先執(zhí)行p->x然后執(zhí)行p++?
2016-03-03
源自:C++遠征之封裝篇(下) 2-3
正在回答
因為(p++)的返回值是原始的值,執(zhí)行完之后,p的值才變了的。我一直是這么理解的。
相關的問題可能具體的代碼需要進行反匯編之后看匯編代碼進行分析的。不同的編譯器對代碼有不同的優(yōu)化。
個人感覺現(xiàn)在的++和--這個坑還是蠻大的。
p++表示的是先使用p,在使用之后再進行++運算。
應該區(qū)分p++和++p的區(qū)別。
ps:多說一句,在一個表達式里面++,--使用多的話,只是給自己找麻煩。很多東西其實現(xiàn)在的編譯器已經(jīng)可以優(yōu)化了的。很多時候,對于不是太底層的應用的話,邏輯清楚應該更重要。
慕田峪6958156 提問者
舉報
封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-03-07
因為(p++)的返回值是原始的值,執(zhí)行完之后,p的值才變了的。我一直是這么理解的。
相關的問題可能具體的代碼需要進行反匯編之后看匯編代碼進行分析的。不同的編譯器對代碼有不同的優(yōu)化。
個人感覺現(xiàn)在的++和--這個坑還是蠻大的。
2016-03-03
p++表示的是先使用p,在使用之后再進行++運算。
應該區(qū)分p++和++p的區(qū)別。
ps:多說一句,在一個表達式里面++,--使用多的話,只是給自己找麻煩。很多東西其實現(xiàn)在的編譯器已經(jīng)可以優(yōu)化了的。很多時候,對于不是太底層的應用的話,邏輯清楚應該更重要。