《C 深度剖析》學習日誌六 函式過載(下)

2021-08-15 07:14:38 字數 883 閱讀 1082

這段**該呼叫哪乙個函式呢?

*函式過載遇上函式指標

——將過載函式名賦值給函式指標時

1.根據過載規則挑選與函式指標引數列表一致的候選者

2.嚴格匹配候選者的函式型別與函式指標的函式型別

*函式過載必然發生在同乙個作用域中

*編譯器需要用引數列表或引數型別進行函式選擇

*無法直接通過函式名得到過載函式的入口位址

*實際工程中c++和c**相互呼叫是不可避免的

*c++編譯器能夠相容c語言的編譯方式

*c++編譯器會優先使用c++編譯的方式

*extern關鍵字能強制讓c++編譯器進行c方式的編譯

extern   「c」

但c語言不認這個extern   「c」,那麼怎麼能讓一段**既可以被c編譯器通過又可以讓c++編譯器編譯通過呢?

*__cplusplus是c++編譯器內建的標準巨集定義

*__cplusplus的意義

——確保c**以統一的方式被編譯成目標檔案

*c++編譯器不能以c的方式編譯過載函式

*編譯方式決定函式名被編譯後的目標名

——c++編譯方式將函式名和引數列表編譯成目標名

——c編譯方式只將函式名作為目標名進行編譯

*函式過載是c++對c的乙個重要公升級

*函式過載通過函式引數列表區分不同的同名函式

*extern關鍵字能夠實現c和c++的相互呼叫

*編譯方式決定符號表中的函式名的最終目標名

C 高階剖析(六 )之函式過載

1.1 函式過載 1.1.1 滿足條件 1.1.2 函式過載 1.1.3 例項 include include include intfunc int a int b intfunc int a intfunc const char a intmain 1.1.4 函式引數遇上預設引數會怎樣 錯誤程...

C 深度剖析學習總結 9 函式過載分析(二)

c 深度剖析學習總結 9 函式過載分析 二 1.過載與指標 下面的函式指標將儲存哪個函式的位址?第乙個 函式過載遇上函式指標 將過載函式名賦值給函式指標時 1.根據過載規則挑選與函式指標引數列表一致的候選者 2.嚴格匹配候選者的函式型別與函式指標的函式型別 9 1 函式過載vs函式指標 includ...

《c語言深度剖析》讀書筆記(六)函式

本文是自己讀書的時候一些關於該書的重點及感悟 目錄 1 函式的好處 2 編碼風格 3 函式設計的一般原則和技巧 4 遞迴 1 降低複雜性 2 避免 重複 3 限制改動帶來的影響 4 隱含順序 5 改進效能 6 進行集中控制 7 隱含資料結構 8 隱含指標操作 9 隱藏全域性變數 1 每乙個函式都必須...