![c函数指针使用示例_第1页](http://file4.renrendoc.com/view/d04bf53049994b17cccccf6734ea1a61/d04bf53049994b17cccccf6734ea1a611.gif)
![c函数指针使用示例_第2页](http://file4.renrendoc.com/view/d04bf53049994b17cccccf6734ea1a61/d04bf53049994b17cccccf6734ea1a612.gif)
![c函数指针使用示例_第3页](http://file4.renrendoc.com/view/d04bf53049994b17cccccf6734ea1a61/d04bf53049994b17cccccf6734ea1a613.gif)
![c函数指针使用示例_第4页](http://file4.renrendoc.com/view/d04bf53049994b17cccccf6734ea1a61/d04bf53049994b17cccccf6734ea1a614.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——c函数指针使用示例c++函数指针使用例如
设计一个名为estimate()的函数,估算编写指定行数的代码所需的时间,并且梦想不同的程序员都可以使用该函数。以下是为大家共享的c++函数指针使用例如,供大家参考借鉴,接待欣赏!
需求
假设要设计一个名为estimate()的函数,估算编写指定行数的代码所需的时间,并且梦想不同的程序员都可以使用该函数。
对于全体的用户来说,estimate()中一片面代码都是一致的,但该函数允许每个程序员供给自己的算法来估算时间。
为实现目标,采用的机制是,将程序员要使用的算法函数的地址传递给estimate()。
实现代码如下
复制代码代码如下:
//funpointer.cpp:定义操纵台应用程序的入口点。
//
#includestdafx.h
#includedoublebetsyint;
doublepamint;
//estimate函数的'其次个参数采纳一个函数指针
voidestimateintlines,double*pfint;
int_tmainintargc,_TCHAR*argv[]
usingnamespacestd;
intcode;
coutHowmanylinesofcodedoyouneed?endl;
cincode;
coutHeresBetsysestimate:endl;
estimatecode,betsy;
coutHeresPamsestimate:endl;
estimatecode,pam;
get;
get;
return0;
inlinedoublebetsyintlinesreturn0.05*lines;
inlinedoublepamintlinesreturn0.03*lines+0.004*lines*lines;
inlinevoidestimateintlines,double*pfint
usingnamespacestd;
coutlineslineswilltake*pflineshoursendl;
运行结果
使用函数指针的好处
以上设计有助于今后的程序开发。当某个程序员为估算时间开发自己的算法时,他将不需要重新编写estimate()函数。相反,他只需要供给自己的函数地址,并保证该函数的参数和返回类型正确即可。
函数指针使得程序员可以修改estimate()的行为,虽然他接触不到estimate()的源代码。
内联函数
由于函数实现的功能较简朴,所以可以使用内联函数来代替常规函数。
要使用内联函数(C++的新特性,用于提高程序运行速度),务必采取下述措施之一:
在函数声明前加上关键字inline
在函数定义前加上关键字inline
内链函数的运行速度比常规函数稍快,但代价是需要占用更多内存。假设程序在10个不同的地方调用了同一个内联函数,那么改程序将包含该函数代码的10个副本,如下图所示:
什么处境下理应考虑使用内联函数?
函数代码执行时间很短
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 1 Knowing me,knowing you Listening and speaking 说课稿-2023-2024学年高一英语外研版(2019)必修第三册
- Unit2 What is your hobby?Lesson 7(说课稿)-2024-2025学年人教精通版英语六年级上册001
- 2025合同模板股东协议 范本
- 25《忆读书》说课稿-2024-2025学年五年级上册语文统编版
- 8空气和我们的生活 说课稿-2024-2025学年科学三年级上册教科版
- 辽宁新风系统施工方案
- 8 网络新世界说课稿-2024-2025学年道德与法治四年级上册统编版
- 高空连廊除锈刷漆施工方案
- Unit 3 Asking the way(说课稿)-2023-2024学年译林版(三起)英语五年级下册
- 修理厂与公司车合同范例
- 《工程测试技术》全套教学课件
- 自卸车司机实操培训考核表
- 教师个人基本信息登记表
- 中考现代文阅读理解题精选及答案共20篇
- ESD测试作业指导书-防静电手环
- 高频变压器的制作流程
- 春季开学安全第一课PPT、中小学开学第一课教育培训主题班会PPT模板
- JJG30-2012通用卡尺检定规程
- 部编版人教版二年级上册语文教材分析
- 艾宾浩斯遗忘曲线复习方法表格模板100天
- APR版制作流程
评论
0/150
提交评论