c函数指针使用示例_第1页
c函数指针使用示例_第2页
c函数指针使用示例_第3页
c函数指针使用示例_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论