【C++】函数指针基础知识理解和使用--统计代码运行时间的简易程序
【摘要】 目录
什么是函数地址?
1.假如你有一个需求?改怎么做
1.1 获取函数地址
1.2 声明函数指针
1.3 使用指针调用函数
2. 实现需求的代码
什么是函数地址?
1.假如你有一个需求?改怎么做
假如你设计一个函数estimate(),用来估算指定行数代码的时间。要将使用的算法函数传递给estimate(),需要以下几步:
1.1 获取...
目录
什么是函数地址?
1.假如你有一个需求?改怎么做
假如你设计一个函数estimate(),用来估算指定行数代码的时间。要将使用的算法函数传递给estimate(),需要以下几步:
1.1 获取函数地址
think(),think就是函数的地址。
1.2 声明函数指针
注意1:
注意2:
void estimate(int line, double (*pf)(int));
1.3 使用指针调用函数
2. 实现需求的代码
-
// fun_ptr.cpp -- 本程序用来示例函数指针
-
// 输入代码数和函数,能算出时间
-
#include<iostream>
-
using namespace std;
-
double betsy(int);
-
double pam(int);
-
-
void estimate(int line, double(*pf)(int));//注意:特征标,返回类型应该一致!
-
-
int main()
-
{
-
int code;
-
cout << "多少行代码?" << endl;
-
cin >> code;
-
cout << "这是老王的结果:" << endl;
-
estimate(code, betsy);
-
cout << "这是老李的结果:" << endl;
-
estimate(code, pam);
-
-
return 0;
-
}
-
-
double betsy(int lns)
-
{
-
return 0.05*lns;
-
}
-
-
double pam(int lns)
-
{
-
return 0.03*lns + 0.0004*lns*lns;
-
}
-
-
void estimate(int line, double(*pf)(int))
-
{
-
cout << line << " 行代码需要";
-
cout << (*pf)(line) << " 小时" << endl;
-
}
运行结果:
文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。
原文链接:kings.blog.csdn.net/article/details/89418515
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)