您好,登錄后才能下訂單哦!
閱讀源碼必備的C++技能有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
通讀源碼之后,我們可以發現, 源碼中大多是C和C++寫的, 我相信讀者大都是java程序員如果是一些if-else,while這些簡單的控制流程語句應該是沒問題的, 但如果是一些有c/c++特色的就不太好懂了.這篇文章也是我現學現賣整理了一些C++的基礎知識點
源碼中的宏語句如下所示:
使用的地方如下圖所示:
從圖中我們可以看到, 直接使用GB/KB/MB , 如891行,其實也可以寫做*result = n*(1024UL * MB)*(1024UL)
, 所以說,宏語句在讀源碼過程中,可以直接帶入
節選了源碼中下面這個函數中4個位置進行說明:
一. type##OopDesc
這里的雙#號是做字符串拼接用的, 如傳進來的type是instance,則144行就是 instanceOopDesc
二. class type##Oop : pubic oop
冒號在類上是表示繼承的意思
三. type##Oop(const oop$ o) : oop(o) {}
構造函數后面的:起分割作用,是給類成員變量賦值用的
四. 反斜杠\
續行符,因為C++中宏定義必須位于同一個邏輯行,所以使用\看起來方便,實際運行時他們又被當做一行處理
指針一直是C/C++中的難題,以前學這塊時, 我經常拿房間門牌號做比,如小刀我住在0157房間. 那0157就是我的地址. &小刀的值就是 0157. 如果定義了一個 *p小刀 的指針變量. 那么 *p小刀的值是小刀本人. 不加*號, p小刀的值就是0157 . 緊緊把握住這個例子, 然后一步步去思考.
最簡代碼及調試結果如下所示:
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。