C++ Primer 第五版 第6章 6.7——函数指针阅读笔记

习题答案请参考:C++ Primer 第五版 第6章 6.7——函数指针习题答案 


目录

6.7 函数指针

使用函数指针

返回指向函数的指针


6.7 函数指针

声明一个函数指针,只需要用指针替代函数名即可

如,有一个标胶string对象长度的函数为:

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

 声明指向该函数的指针:

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

说明:

(1)指针代替函数名,这里*p指针代替lengthCompare

(2)指针*p的括号必不可少(这里是细节,注意!!


使用函数指针

(1)把函数名作为一个值使用时,该函数自动地转换成指针

p = lengthCompare    //p指向lengthCompare函数
p = &lengtCompare    //等价的赋值语句,&是可选的

(2)可以直接使用指向函数的指针调用该函数

//三个方式都是调用lengthCompare
bool = p("hello", "goodbye")
bool = (*p)("hello", "goodbye")
bool = lengthCompare("hello", "goodbye")

返回指向函数的指针

函数不能返回整个函数,但是可以返回指向函数的指针,注意,必须是指针形式,并不能将函数类型转换成指针类型

你可能感兴趣的:(C++,primer,第五版,知识和习题,C++,Primer,C++,函数,指针)