c++核心编程PDF,c++核心编程文档
1、函数指针的基本用法函数指针声明:
声明普通指针时,必须提供指针的类型。同样,在声明函数指针时,还必须提供函数类型,即返回值和参数列表。
函数指针特性:
指针的返回值和函数的返回值相同,参数列表相同,返回值和参数列表相同,可以认为是同一个函数类型。
int func1(int a,string b)
int func2(int c,string d)
int func3(int g,string sd)
bool func4(int sj,string sdk)
指向boofunc5 (intdfjn)函数的指针声明:
语法:返回值类型(*指针名称)(参数列表)
int (*pfa)(int,string);
bool (*lis)(int a,string c);
bool(* Shi)(int);具体实现:
1声明函数指针
2指针名=函数名
3个电话
C: p(o,符号);
//c写
//声明一个函数指针。它的返回值类型和参数列表应该与被回调的函数相同。
void(*p)(int,string);
p=ThePsychic
p(o,符号);输出结果
C的写法:(*p)(o,符号)
//C语言编写
//声明一个函数指针。它的返回值类型和参数列表应该与被回调的函数相同。
void(*p)(int,string);
p=ThePsychic
(*p)(o,符号)输出结果:
代码示例:
#包括iostream
使用命名空间std
//函数指针和回调函数的语法
//算命功能,计算幸运数字和星座
void ThePsychic(int a,string c)
{
他的幸运数字是:a endl。
他的星座是:‘c endl;
}
int main()
{
int o=0;
星座=水瓶座;
//一般呼叫
ThePsychic(o,符号);
//声明一个函数指针。它的返回值类型和参数列表应该与被回调的函数相同。
void(*p)(int,string);
//语法:函数指针名=需要回调的函数名;然后用指针名调用它。
//通过函数指针的方式调用
p=ThePsychic
p(o,符号);//C调用编写
(*p)(o,符号);//C语言编写
系统(“暂停”);
}2函数指针调用函数的优点:
(1)可以提高程序的编译效率和执行速度,使程序更加简洁。
(2)通过指向被调用的函数,可以将正常返回值以外的其他数据返回给调用函数,从而实现两者之间的双向通信。
(3)利用指针可以实现动态内存分配。
以上来自百度
我个人想总结一点:就是函数指针调用函数,使得函数封装成一个框架或者模板,便于复用和具体调用。例如:
使用函数指针,写一个算命函数。算命的一般流程无非是:看手相——看面相——一些对话等。
然后我们把它封装成一个带有函数指针的算命函数,里面包含了一些通用的流程。
张三来了就数张三,李四来了就数李四。但是每个人的需求可能不一样,有的是为了桃花运,有的是为了财运。
把个人的具体需求传入算命功能,他算什么,只要按照算命流程来,师傅就能算出来。
#包括iostream
使用命名空间std
虚空托尼()
{
我叫托尼,我是一名理发师。请高手算算今年的运势endl
}
无效麦克风()
{
Cout 我是Mike,我要算桃花运 endl
}
void ThePsychic(void (*p)())
{
Cout算命先生到位’endl;
p();
Cout 请伸出你的左手,看手相 endl
Cout“已计算”endl
}
int main()
{
ThePsychic(托尼);
ThePsychic(麦克);
系统(“暂停”);
}输出结果:
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。