- 1
- 0
- 约2.62千字
- 约 7页
- 2018-11-02 发布于福建
- 举报
浅谈C中内联函数应用
浅谈C++中内联函数应用
摘 要:本文着重探究内联的优点与局限性,说明什么情况下应该采用、不该采用以及要警惕错用。
关键词:C语言;C++;内联函数
对比于C语言的函数,C++增加了重载、内联、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。
1 用内联取代宏代码
C++语言支持函数内联,其目的是为了提高函数的执行效率。在C程序中,可以用宏代码提高执行效率。宏代码本身不是函数,但使用起来象函数。预处理器用复制宏代码的方式代替函数调用,省去了参数压栈、生成汇编语言的CALL调用、返回参数、执行return等过程,从而提高了速度。使用宏代码最大的缺点是容易出错,预处理器在复制宏代码时常常产生意想不到的边际效应。
例如“#define MAX(a,b) (a)(b)?(a):(b)”语句“result=MAX(i,j)+2;”将被预处理器解释为“result=(i)(j)?(i):(j)+2;”由于运算符‘+’比运算符‘:’的优先级高,所以上述语句并不等价于期望的“result=((i)(j)? (i):(j))+2;”。如果把宏代码改写为“ #define MAX(a,b)((a
您可能关注的文档
- 浅析中小学安全管理工作中存在问题.doc
- 浅析中小学数字化校园建设.doc
- 浅析中空保温玻璃生产工艺优化.doc
- 浅析中等职业技术学校思想道德教育.doc
- 浅析中职学校职业伦理教育.doc
- 浅析中职学校语文教育中逆反心理及解决对策.doc
- 浅析中职学生化学学习能力培养方法.doc
- 浅析事业单位内部控制存在主要问题、成因及相关建议.doc
- 浅析事业单位政府采购预算编制中存在问题及对策.doc
- 浅析云计算在企业中应用.doc
- JJG 2024-2026容量计量器具检定系统表.pdf
- 《JJG 2024-2026容量计量器具检定系统表》.pdf
- GB/T 4269.1-2026农林拖拉机和机械、草坪和园艺动力机械 操作者操纵机构和其他显示装置用符号 第1部分:通用符号.pdf
- 中国国家标准 GB/T 4269.1-2026农林拖拉机和机械、草坪和园艺动力机械 操作者操纵机构和其他显示装置用符号 第1部分:通用符号.pdf
- GB/T 48199-2026液浸式移相变压器.pdf
- 中国国家标准 GB/T 48199-2026液浸式移相变压器.pdf
- 中国国家标准 GB/T 34062-2026防伪追溯编码技术要求.pdf
- GB/T 34062-2026防伪追溯编码技术要求.pdf
- 《GB/T 48341-2026深紫外LED封装 加速寿命试验与寿命评估方法》.pdf
- 中国国家标准 GB/T 48341-2026深紫外LED封装 加速寿命试验与寿命评估方法.pdf
最近下载
- 黑龙江省绥化市哈尔滨师范大学青冈实验中学校2024-2025学年高一上学期10月月考化学试题(含答案).pdf VIP
- T GZAS 030—2024 信息通信行业运维人员能力评价规范.pdf VIP
- (2026年)医疗机构基本标准(试行).docx VIP
- 脑梗死后遗症护理查房.pptx VIP
- 黑龙江省哈尔滨市哈尔滨师范大学青冈实验中学校2024-2025学年高一上学期10月考试物理试题(含答案).docx VIP
- T_GZAS 030-2024 信息通信行业运维人员能力评价规范.docx VIP
- AX8678_03_BX51WI(C)INST 固定载物台正置显微镜 使用说明书.pdf
- 网络安全运维操作规范作业手册.docx
- 血流动力学监测ppt课件.pptx VIP
- 无机及分析化学练习题_分子结构和晶体结构.doc VIP
原创力文档

文档评论(0)