中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

閱讀源碼必備的C++技能有哪些

發布時間:2021-10-23 15:54:57 來源:億速云 閱讀:146 作者:柒染 欄目:大數據

閱讀源碼必備的C++技能有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

代碼中的C++

通讀源碼之后,我們可以發現, 源碼中大多是C和C++寫的, 我相信讀者大都是java程序員如果是一些if-else,while這些簡單的控制流程語句應該是沒問題的, 但如果是一些有c/c++特色的就不太好懂了.這篇文章也是我現學現賣整理了一些C++的基礎知識點

宏語句

源碼中的宏語句如下所示:

閱讀源碼必備的C++技能有哪些

使用的地方如下圖所示:

閱讀源碼必備的C++技能有哪些

從圖中我們可以看到, 直接使用GB/KB/MB , 如891行,其實也可以寫做*result = n*(1024UL * MB)*(1024UL), 所以說,宏語句在讀源碼過程中,可以直接帶入

C++中冒號, # 的用法

節選了源碼中下面這個函數中4個位置進行說明:

閱讀源碼必備的C++技能有哪些

一. 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 . 緊緊把握住這個例子, 然后一步步去思考.

最簡代碼及調試結果如下所示:

閱讀源碼必備的C++技能有哪些

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

太湖县| 衡山县| 东平县| 宜城市| 越西县| 太原市| 宁安市| 敖汉旗| 金平| 呈贡县| 胶南市| 金沙县| 德惠市| 兴安县| 武强县| 天长市| 长葛市| 大埔县| 古交市| 遵化市| 突泉县| 信丰县| 金山区| 石楼县| 大城县| 长宁区| 通辽市| 罗城| 大姚县| 渝中区| 佛冈县| 金乡县| 武平县| 广平县| 乌兰县| 平江县| 娄底市| 河津市| 洛扎县| 彩票| 台中县|