当前位置: 首页 > news >正文

如何做淘宝客网站/培训机构排名前十

如何做淘宝客网站,培训机构排名前十,网站编排类型,沈阳男科医院哪家有名1: 什么是函数指针 这个问题老生常谈了,不用理解的多么复杂,它其实就是一个特殊的指针,它用于指向函数被加载到的内存首地址,可用于实现函数调用。听上有点像函数名,函数名也是记录了函数在内存中的首地址…

1: 什么是函数指针

  1. 这个问题老生常谈了,不用理解的多么复杂,它其实就是一个特殊的指针,它用于指向函数被加载到的内存首地址,可用于实现函数调用。
  2. 听上有点像函数名,函数名也是记录了函数在内存中的首地址,加()就可以调用。
  3. 不错,不过函数指针和函数名还是有点区别的,他们虽然都指向了函数在内存的入口地址,但函数指针本身是个指针变量,对他做&取地址的话会拿到这个变量本身的地址去
  4. 而对函数名做&取址,得到的还是函数的入口地址。如果是类成员函数指针,差别更加明显。

始终记住最大的两个不同点

  • 既然他是指针,而且不是const的,那么他就是灵活可变的,通过赋值不同的函数来实现不同的函数调用。
  • 然而他也有自己的限制(函数签名——返回值类型和参数类型),那不是和覆盖、多态实现的功能一样了么?额。。。要这么理解也行,但不全对

总结

上面说到函数指针的功能类似覆盖或多态,覆盖和多态更多体现的是对象自身的特征和对象之间的继承关联,而函数指针则没这么多讲究,他就是灵活。

函数指针不需要依附于对象存在,他可以用来解决基于条件的多个函数筛选,也可以处理完全无关的几个函数。

所以他的作用,什么封装性好、用于回调函数、实现多态等等,随便了,只有一条,符合他的函数签名并且可达。

1: 简单的函数指针:void (*f_ptr)() 

这是定义了一个名为f_ptr的函数指针「变量」
    给函数指针赋值:f_ptr = function;

function是一个已经定义的函数名(给函数指针赋值的时候,对应的函数签名(返回值和参数列表)必须是和他的相匹配的。)

using namespace std;double cal_m1(int lines)
{return 0.05 * lines;
}double cal_m2(int lines)
{return 0.5 * lines;
}void estimate(int line_num, double (*pf)(int lines))
{cout << "The " << line_num << " need time is: " << (*pf)(line_num) << endl;
}int main()
{int line_num = 10;// 函数名就是指针,直接传入函数名estimate(line_num, cal_m1);estimate(line_num, cal_m2);return 0;
}// 打印结果
The 10 need time is: 0.5
The 10 need time is: 5

2:typedef void (*f_ptr)()

这是定义了一个名为f_ptr的函数指针「类型」,这个类型代表返回值为空,参数为空的函数指针类型

声明一个函数指针并赋值 :

typedef void (*f_ptr)();

f_ptr fp = function ; // void (*f_ptr)() = function;

using namespace std;// 类型定义:声明函数指针
typedef int(*pfunc)(int x, int y);int main()
{auto func = [](int x, int y)->int {return x + y;};pfunc p1 = nullptr; // pfunc 定义函数指针p1 = func;  //lambda表达式向函数指针转换std::cout << p1(1, 2) << std::endl;return 0;
}// 打印值: 3

参考文献:

万字长文系统梳理一下C++函数指针 - 知乎

C++ 函数指针取地址与取值 - 九鼎煮鸡蛋 - 博客园

http://www.lbrq.cn/news/1246267.html

相关文章:

  • vs2008做网站教程/推广产品
  • 玻璃钢产品哪个网站做推广好/贵阳百度seo点击软件
  • 个人主页网站模板/如何创建一个app
  • 安徽鹏华建设工程有限公司网站/qq群推广方法
  • .net 做手机网站吗/湖南网站seo公司
  • 安卓盒子做网站/做关键词优化的公司
  • 济南商城网站建设公司/网页制作软件手机版
  • 电子商务型网站/网络营销的三大核心
  • ks刷粉网站推广马上刷/安徽网络推广和优化
  • 润东电子科技 网站建设/济南网站建设哪家便宜
  • 网站注册用户推广/百度指数免费查询
  • wordpress测试/seo技术是干什么的
  • 深圳住房和建设局网站无法登陆/黑龙江新闻
  • asp技校网站/化妆品软文推广范文
  • 成都企业网站建设及公司ppt/宁波seo外包推广渠道
  • 德州公司做网站/关键词排名监控批量查询
  • 网站能不能用自己的电脑做服务器/网站快速收录入口
  • 朱能源做网站/百度seo怎么把关键词优化上去
  • 公司网站开发 flask/百度博客收录提交入口
  • 做网站解析要多久/今日足球比赛分析推荐
  • 做正规网站有哪些/培训学校招生方案范文
  • 苏州区建设局网站首页/优化设计官方电子版
  • 网站分站代理/关键词挖掘工具网站
  • wordpress表单编辑插件下载/外贸谷歌seo
  • 广州出名的网站/网络营销方式
  • 电子商务网站建设大作业/黄页网站推广效果
  • 淘宝客服推销做网站的技巧/百度下载安装app
  • 惠州专业网站建设/系统推广公司
  • 网站素材下载/中国搜索引擎
  • 政府门户网站app建设方案/国外新闻最新消息
  • 如何理解推理模型
  • Django模型查询与性能调优:告别N+1问题
  • Redis学习-----Redis的基本数据类型
  • 每日练习(红黑树)
  • day066-内容分发网络(CDN)与web应用防火墙(WAF)
  • 客户服务自动化:如何用CRM减少50%人工工单?