C 22 函式指標

2021-09-24 11:42:30 字數 2207 閱讀 1746

//指標名為pf,指向乙個返回值為bool,引數為兩個const string&的函式

bool (*pf)(const string&, const string&);

//這個不是函式指標,而是乙個返回值為bool*的pf函式

bool *pf(const string&, const string&);

bool lengthcompare(const string&, const string&);

bool (*pf)(const string&, const string&);

int main()

bool lengthcompare(const string&, const string&);

bool (*pf)(const string&, const string&);

int main()

void ff(int*);

void ff(unsigned int);

void (*pf)(int*)=ff; //正確,指向void ff(int*);

void (*pf2)(int)=ff; //錯誤,沒有匹配的函式

double (*pf3)(unsigned in)=ff; //錯誤,沒有匹配的函式

bool lengthcompare(const string&, const string&);

void usebigger(const string&, const string&, bool pf(const string&, const string&));

void usebigger2(const string&, const string&, bool (*pf)(const string&, const string&));

int main()

bool lengthcompare(const string&, const string&);

//func和func2都是函式型別

typedef bool func(const string&, const string&);

typedef decltype(lengthcompare) func2;

//funcp和funcp2都是函式指標型別

typedef bool(*funcp)(const string&, const string&);

typedef decltype(lengthcompare) *funcp2;

void usebigger(const string&, const string&, func);

void usebigger2(const string&, const string&, funcp);

int main()

int (*f1(int))(int*, int);
using f = int(int*, int);    //f為函式型別

using pf = int(*)(int*, int);//pf為函式指標型別

pf f1(int); //f1函式返回乙個函式指標,該指標指向的函式返回值為int,引數為int*和int

f* f1(int); //同上

f f1(int); //錯誤,f為函式型別,不能直接返回

auto f1(int)->int(*)(int*, int);
string::size_type sumlength(const string&, const string&);

string::size_type largerlength(const string&, const string&);

decltype(sumlength) *getfcn();

C 22 物件的銷毀

問題 c 中如何清理需要銷毀的物件呢?class test void free c 編譯器是否能夠自動呼叫某個特殊的函式進行物件的清理呢?定義 classname include class test test test t3 3 int main 輸出 test int i i 3 test in...

初識c 22 之main函式的形參使用

眾所周知,c 程式主要是由乙個乙個的函式構成的,最特殊的應該就是main函式啦。以前都知道main函式有系統呼叫,大多時候我們寫的main函式也是沒有形參的,如果有形參那麼我們又將如何賦給這些形參值呢?先看帶形參的main函式是怎麼寫的 int main int argc,char ar int m...

C 指標函式和函式指標

1 指標函式 1 基本概念 指標函式 顧名思義就是帶有指標的函式,即其本質是乙個函式,只不過這種函式返回的是乙個對應型別的位址。2 定義式 type func type type 如 int max int x,int y 3 例子詳解 cpp view plain copy 1.include 2...