顯式解引用

2021-06-23 03:10:42 字數 845 閱讀 9859

這實際上會指定返回值的函式呼叫goo()到pfoo,這並不是我們想要的。我們希望pfoo被分配到功能良好,沒有從goo()返回值。所以沒有圓括號是必需的。

請注意,簽名(引數和返回值的函式指標必須)函式的簽名匹配。這裡是乙個例子:

123

4567

891011

// function prototypes

int foo();

double goo();

int hoo(int nx);

// function pointer assignments

int (*pfcn1)() = foo; // okay

int (*pfcn2)() = goo; // wrong -- return types don't match!

double (*pfcn3)() = goo; // okay

pfcn1 = hoo; // wrong -- pfcn1 has no parameters, but hoo() does

int (*pfcn3)(int) = hoo; // okay

呼叫乙個函式使用乙個函式指標

你可以用乙個函式指標的第二件事是用它來呼叫函式。有兩種方法來做這個。首先是通過顯式解引用:

123

4567

int foo(int nx)

int (*pfoo)(int) = foo; // assign pfoo to foo()

(*pfoo)(nvalue); // call function foo(nvalue) through pfoo.

隱式解引用

引用和指標 引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下 int nvalue 5 int const pnvalue nvalue int rnvalue nvalue pnvalue and rnvalue evaluate identically.as a re...

隱式解引用

引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下 int nvalue 5 int const pnvalue nvalue int rnvalue nvalue 同樣,乙個const引用的行為就像乙個const指標指向const物件是隱式解引用。因為引用總是 點 來有效...

物件是隱式解引用

引用和指標 引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下 1 2 3 intnvalue 5 int constpnvalue nvalue int rnvalue nvalue pnvalue和rnvalue評估同。作為乙個結果,下面兩個語句 產生相同的效果 1 2...