c++ 學習 隨筆四

1、頭文件中的函數定義有一種函數是例外,就是內聯函數,內聯函數必須要在頭文件中定義,如果只在源文件中寫函數體則不可以。另外任何在頭文件中添加或者修改內聯函數,則必須重新編譯該頭文件。

2、類中的常量成員函數的使用。顧名思義,該函數形式爲 void p () const {};當類中定義該函數時,類對象如果調用該函數則表示不能修改該對象的成員。因此,如果定義了該類的對象的const指針或引用,這隻能調用常量成員函數,而不能調用非const成員函數。

3、函數重載的理解。函數重載必須是函數的參數個數或者類型不同,而不是依據返回值類型來重載函數。

4、當調用重載函數時,首先一共進行三步:(1)查找函數名字,(2)根據參數的類型查找函數,(3)確定最準確的函數調用。

5、枚舉類型的對象的初始化,只能是同一枚舉類型的另外一個對象,或者是一個枚舉成員。

6、當函數重載傳遞的參數是指針時,不能依賴指針是否爲const來重載函數。

7、有類型指針,就必然有函數指針;因此定義,在引用函數名但又沒有調用函數時,該函數名都解釋爲函數指針。此外一個重要的性質爲:直接引用函數名等於對函數進行取址操作。

例如: cmp = f;和cmp = &f;是一樣的。

8、函數指針只能由同類型的函數、函數指針及0值常量表達式來初始化或賦值。

9、

第一句:用函數初始化函數指針pf,第二句爲調用函數,第三句和第四句爲通過函數指針掉喲娜那個函數;第四句爲顯式調用,第三句爲隱式調用。因爲pf爲指針,所以可以解引用。

10、非常重要的一條性質爲:指向不同函數的函數指針,不能相互轉換。

11、當函數的形參爲函數時,自動將該函數轉換爲函數指針,如果返回值是函數則不會發生轉換。

12、如果函數指針指向的是重載函數,這初始化時一定要精確,不可模糊。

發佈了33 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章