- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学计算机系 特殊形式的函数 北京理工大学计算机系 金旭亮 本讲内容 内联函数 默认形参的函数 函数重载 函数模板 内联函数 引例:编写一个函数比较两数大小 int min(int v1,int v2) { return (v1v2?v1:v2); } 为什么要定义一个min()函数? 易于理解 改变一个局部化的实现比更改一个应用中的300个出现要容易得多 语义统一,可被重用。 问题: 函数的调用需要开销。 用内联函数解决问题 若一个函数被指定为内联函数,则它将在程序中每个调用点上被“展开” int val=min(i,j); 被展开为: int val=ij?i:j; 内联函数的使用范围 被频繁调用的功能 函数体简单 需要高效率 使用内联函数的缺点: 可执行程序文件尺寸增大 默认形参值的函数 函数参数可以指定默认值,称为默认参数。 Float Area(float Width, float Length=12.0) 示例: Default.cpp,其中,我们只用一个参数调用此函数: float A; A = Area(6.5); 函数重载 同一函数名,不同数目或类型的参数 示例: OverLoad.cpp 重载了max()函数,可以求出两个或三个数中的最大值。 函数重载的应用 函数模板 语法示例: template class T T Sum(T x,T y) { return x+y; } 调用方式: int ret1=Sum(10,100); float ret2=Sum(10.35,325.23); 访问数组元素方法的变迁 VisitArr1.cpp---应用指针的“专用”版 VisitArr2.cpp---应用独立函数的“通用”版 VisitArr3.cpp---应用模板技术的“万能”版 模板函数应用实例 冒泡法排序:Bubble.cpp 应用了模块化的编程思路,使用了函数模板技术 线性搜索:LinearSearch.cpp 二分搜索:BinarySearch.cpp * * 第八讲 * * *
您可能关注的文档
最近下载
- 雅安编写老旧小区改造建设项目可行性研究报告.docx
- 暖通工程施工的方案.doc VIP
- 家校协同育人模式实践总结PPT模板(2025教师专用).pptx VIP
- 高处作业风险及隐患排查(安全检查)清单.pdf VIP
- 重难点拓展:有关数轴的三种探索问题-人教版新七年级《数学》暑假自学提升讲义(解析版).docx VIP
- 2021北京清华附中初一(上)期末数学.pdf VIP
- 风力发电工程项目的安全管理体系及安全管理要点.docx VIP
- 2023北京清华附中初一(上)期末数学(教师版).docx VIP
- 输电线路铁塔标准化设计110kV分册(第1~5章).docx VIP
- 2024年山西关铝集团有限公司人员招聘考试题库及答案解析.docx VIP
文档评论(0)