C++中返回指向函數(shù)的指針示例
在C++中,函數(shù)的形參可以是指向函數(shù)的指針,函數(shù)也可以返回函數(shù)的指針。
例如:
int (*ff(int)) (int *,int);表示:ff(int)是一個(gè)函數(shù),帶有一個(gè)int型的形參,該函數(shù)返回int (*) (int *,int),它是一個(gè)指向函數(shù)的指針,所指向的函數(shù)返回int型并帶有兩個(gè)分別是Int*和int型的形參。
使用typedef可使得定義更加易懂:
typedef int (*PF) (int *,int);
PF ff(int);
下面給出一個(gè)例子:
#include<iostream>
using namespace std;
void fff(int *i,int j)
{
cout<<"fff"<<endl;
}
void (*f(int))(int* pi,int i)
{
cout<<"cheng"<<endl;
return fff;
}
typedef void (*((*pf)(int)))(int*,int);
int main()
{
pf p;
p=f;
int i;
int *ip;
p(i);
return 0;
}
輸出結(jié)果:
cheng
相關(guān)文章
C++零基礎(chǔ)精通數(shù)據(jù)結(jié)構(gòu)之帶頭雙向循環(huán)鏈表
帶頭雙向循環(huán)鏈表:結(jié)構(gòu)最復(fù)雜,一般用在單獨(dú)存儲數(shù)據(jù)。實(shí)際中使用的鏈表數(shù)據(jù)結(jié)構(gòu),都是帶頭雙向循環(huán)鏈表。另外這個(gè)結(jié)構(gòu)雖然結(jié)構(gòu)復(fù)雜,但是使用代碼實(shí)現(xiàn)以后會發(fā)現(xiàn)結(jié)構(gòu)會帶來很多優(yōu)勢,實(shí)現(xiàn)反而簡單2022-03-03C語言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例
大家好,本篇文章主要講的是C語言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-02-02C語言中位運(yùn)算符"|"的5種高級用法總結(jié)
這篇文章主要為大家詳細(xì)介紹了C語言中位運(yùn)算符"|"的5種高級用法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以參考一下2023-04-04