c primer, 5e 函式指標

2022-01-19 01:49:35 字數 1094 閱讀 5660

簡單的示例:

#include using

namespace

std;

int sum(int x, int

y)int

main()

遇到過載的情況,編譯器通過指標型別精確匹配函式。

#include using

namespace

std;

int sum(int x, int

y)int sum(int x, double

y)int

main()

將函式作為引數:

#include using

namespace

std;

int sum(int x, int

y)typedef decltype(sum) func;

int useint2(int x, int

y, func f)

intmain()

返回型別不會自動地轉換成指標,我們必須顯示地將返回型別指定為指標,但是我想,除非是函式內部還可以建構函式(例如python那樣),否則返回函式也沒什麼用。

練習6.54

#include #include 

using

namespace

std;

int sum(int x, int

y)int

main()

6.55 & 6.56

#include #include 

using

namespace

std;

int add(int x, int

y)int subtract(int x, int

y)int multiply(int x, int

y)int divide(int x, int

y)int

main()

return0;

}

輸出結果:

16848

3

c primer, 5e 函式匹配

練習 6.49 候選函式 與所呼叫的函式的名字相同的函式的集合。可行函式 給候選函式加上引數數量 引數型別的約束所得到的函式的集合。6.50 a 3 4可行,二義匹配 b 2 4可行,2是最佳匹配 c 3 4可行,3是最佳匹配 d 3 4可行,4是最佳匹配 6.51 測試 include using...

《C Primer 5e》學習筆記(5) 函式

1.函式的呼叫完成兩項工作 一是用實參初始化函式對應的形參,二是將控制權轉移給被呼叫的函式。此時,主調函式的執行被暫時中斷,被調函式開始執行。2.函式定義規定了實參與形參存在的對應關係,但是並沒有規定實參的求值順序。編譯器能以任意可行的順序對形參進行求值。3.函式的返回值不能是陣列型別或函式型別,但...

C Primer(5e)第13章習題

如果乙個建構函式的第乙個引數是自身類型別的引用,且任何額外引數都有預設值,則此建構函式是拷貝建構函式。使用時候 1.用 定義變數 2.將要給物件作為實參傳遞給乙個非引用型別的實參 3.從乙個返回型別為非引用型別的函式返回乙個物件 4.用花括號列表初始化乙個陣列中的元素或乙個聚合類中的成員 因為如果拷...