在《C++中函数参数类型为指针的指针》中提到,在C++中,每次调用函数时都会重新创建它的形参,并用传入的实参对形参进行初始化。因此,不能用函数当做其他函数的形参,因为在函数内部无法创建函数的副本。而函数的指针可以作为其他函数的参数,指针是可以在函数内部进行复制的。
1 定义包含有函数指针的函数
bool (*fp)(const string&);
void userFp(const string& s1, bool (*myFp)(const string&))
{
myFp(s1);
}
以上代码中,定义了函数指针fp,该指针指向一个返回值是bool类型,有一个const string&形参的函数;另外还定义了一个具有函数指针作为形参的函数userFp。