国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

Effective C++ 第四條 Make sure that objects are initialized before

2023-01-07 06:53 作者:九思519  | 我要投稿

確定對象被使用前已先被初始化

C++的對象創(chuàng)建之后,在某些情況下會被初始化,有些情況下卻不會,這一點難以靠記憶來分辨,所以需要在創(chuàng)建之后立即初始化,養(yǎng)成良好習慣。

在我們在C++中創(chuàng)建變量的時候,可能會忘記初始化

但是這樣存在潛在的風險,如果我們輸出 a 到屏幕上,可能會產生出無法預知的結果。因為我們申請的臨時變量是存儲在棧(stack)上的,在存儲a的位置可能之前存儲過別的變量,而臨時變量的釋放并不會將空間內容抹去,僅僅只是將 rsp 指針增大(stack由高地址向低地址增長),所以不對申請的變量初始化而直接使用是個不好的習慣。

賦值和初始化

賦值并不等于初始化,C++規(guī)定對象的成員變量初始化動作在進入構造函數(shù)本體之前

以類的構造函數(shù)為例

初始化的效果和賦值的效果是一樣的,但是初始化的效率比賦值要高很多。所以應該盡量采用初始化的方式來寫代碼。

初始化是有順序的,在類中,變量 m 先于變量 n 聲明,初始化同樣按照這個順序。

多文件編譯需要注意的事項

在本例子中,類A和類B在兩個編譯模塊中,其中A的成員函數(shù)fun通過調用b的op函數(shù)其作用,但是要考慮到,如果b沒有被初始化呢?那么程序就會出錯。在《Effective C++》中采取了一個辦法,就是使用 static 來解決,方法如下

利用static修飾產生一個b,這樣可以避免遇到b未初始化的問題。

Effective C++ 第四條 Make sure that objects are initialized before的評論 (共 條)

分享到微博請遵守國家法律
突泉县| 三都| 当雄县| 永春县| 英吉沙县| 简阳市| 四会市| 巴楚县| 炉霍县| 来凤县| 长春市| 神木县| 儋州市| 延吉市| 襄垣县| 沧源| 珠海市| 绥棱县| 西青区| 合川市| 瓦房店市| 宁阳县| 琼中| 乳山市| 五指山市| 马龙县| 灵川县| 山西省| 麻城市| 伽师县| 白山市| 衡阳市| 定西市| 普兰店市| 阿巴嘎旗| 丰镇市| 泗阳县| 蒙山县| 鄂尔多斯市| 长寿区| 汉沽区|