Effective C 學習心得 續2

2021-05-26 16:35:06 字數 756 閱讀 9478

12、當過載某個符號需要返回object時,注意下面兩種寫法的差異

//這種方法是錯誤的。因為a是區域性變數。

const a& operator *(const a& aa,const a& bb)

//這種方法是正確的

const a operator *(const a& aa,const a&bb)

{} return a();

}13、c++只允許對class template偏特化,在function template身上偏特化是行不通,即下面的**是編譯不過的。

namespace std

}編寫swap的方法如下:

1)提供乙個public swap成員函式,讓它高效地置換你的型別的兩個物件。

2)在class或template所在命名空間內提供乙個non-member swap,並令它呼叫上述的swap成員函式。

3)如果你正編寫乙個class,為你的class特化std::swap,並令它呼叫你的swap成員函式。

14、c++的型別轉換

1)const_cast(expression) //把const型別轉換為non-const

2)dynamic_cast(expression) //「安全向下轉型」,用來決定某物件是否歸屬繼承體系中的某個型別。盡量不用

3)reinterpret_cast(expression) //

4)static_cast(expression) //強迫的隱式轉換,將non-cast轉換為const物件

Effective C 學習心得

1 考慮下面的 define claa with max a,b a b a b int a 5,b 0 claa with max a,b a被累加二次 claa with max a,b 10 a被累加一次 原因在於 define只是在預編譯的時候替換,而不做別的處理 因此claa with m...

學習心得 python學習心得

自從來了深圳工作以後,尤其是屢屢面試碰壁以後。發現其實自己的知識面很窄,做筆試題的時候絞盡腦汁還是漏洞百出,並不是不會做,而是出現一大堆不該有的失誤。每次被問道,對資料庫了解嗎?說一大堆看起來很高階的東西 好啊,那我們寫幾個sql語句吧。馬上完蛋了,沒了手冊關鍵字都記不起。了解哪幾種指令碼語言,sh...

學習心得 我的學習心得

我是乙個已經步入中年的70後,離開校園已經20年了,因為當年的政策因素而未能圓我的大學夢,在20年的工作過程中總是因為缺少一張大學文憑而失去了很多機會,曾經也考慮過自考,但是乙個人去面對的時候總感覺心有餘而力不足。2018年3月份偶然讓我認識了尚德,原來自考還可以這樣學習。一直懷疑自己年紀大了記憶力...