閱讀源碼必備的C++技能有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
海曙ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
通讀源碼之后,我們可以發(fā)現(xiàn), 源碼中大多是C和C++寫的, 我相信讀者大都是java程序員如果是一些if-else,while這些簡單的控制流程語句應(yīng)該是沒問題的, 但如果是一些有c/c++特色的就不太好懂了.這篇文章也是我現(xiàn)學(xué)現(xiàn)賣整理了一些C++的基礎(chǔ)知識點
源碼中的宏語句如下所示:
使用的地方如下圖所示:
從圖中我們可以看到, 直接使用GB/KB/MB , 如891行,其實也可以寫做*result = n*(1024UL * MB)*(1024UL)
, 所以說,宏語句在讀源碼過程中,可以直接帶入
節(jié)選了源碼中下面這個函數(shù)中4個位置進(jìn)行說明:
一. type##OopDesc
這里的雙#號是做字符串拼接用的, 如傳進(jìn)來的type是instance,則144行就是 instanceOopDesc
二. class type##Oop : pubic oop
冒號在類上是表示繼承的意思
三. type##Oop(const oop$ o) : oop(o) {}
構(gòu)造函數(shù)后面的:起分割作用,是給類成員變量賦值用的
四. 反斜杠\
續(xù)行符,因為C++中宏定義必須位于同一個邏輯行,所以使用\看起來方便,實際運行時他們又被當(dāng)做一行處理
指針一直是C/C++中的難題,以前學(xué)這塊時, 我經(jīng)常拿房間門牌號做比,如小刀我住在0157房間. 那0157就是我的地址. &小刀的值就是 0157. 如果定義了一個 *p小刀 的指針變量. 那么 *p小刀的值是小刀本人. 不加*號, p小刀的值就是0157 . 緊緊把握住這個例子, 然后一步步去思考.
最簡代碼及調(diào)試結(jié)果如下所示:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。