服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++中返回指向函数的指针示例

C++中返回指向函数的指针示例

2020-12-26 15:52C++教程网 C/C++

int (*ff(int)) (int *,int);表示:ff(int)是一个函数,带有一个int型的形参,该函数返回int (*) (int *,int),它是一个指向函数的指针,所指向的函数返回int型并带有两个分别是Int*和int型的形参

在C++中,函数的形参可以是指向函数的指针,函数也可以返回函数的指针。
例如:
int (*ff(int)) (int *,int);表示:ff(int)是一个函数,带有一个int型的形参,该函数返回int (*) (int *,int),它是一个指向函数的指针,所指向的函数返回int型并带有两个分别是Int*和int型的形参。
使用typedef可使得定义更加易懂:
typedef int (*PF) (int *,int);
PF ff(int);

下面给出一个例子:

复制代码 代码如下:


#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;
}


输出结果:
cheng

延伸 · 阅读

精彩推荐