函数指针(C++ Primer Plus 第七章)

关于本书中,第七章的一个比较难理解的函数指针

声明函数指针

通常,要声明指向特定类型函数的指针,可以首先编写这种函数的原型,然后用(*pf)替换函数名。这样pf就是这类函数的指针。

double (*pf)(int);
const double* f1(const double*, int n); //f1为返回值为const double*的函数
const double* (*pa)(const double*, int n); //p1为指向返回值为const double*的函数的指针
const double* (*pa)(const double*, int n) = f1; //初始化,函数名也可以理解为指向函数的指针
难理解的函数指针
const double* (*pa[3])(const double*, int) = {f1, f2, f3}; //pa是一个包含3个指针的数组
//当定义了一个函数指针数组后,能否在定义一个指针用于保存这个数组的地址呢?
//这个指针就是指向函数指针数组的指针
const double* (*(*pd)[3])(const double*, int) = &pa; 
//一个指向有3个元素每个元素为指向一个返回值const double*的函数的数组的指针
posted @ 2020-03-21 17:08  笑着的程序员  阅读(13)  评论(0)    收藏  举报  来源