今天看啥  ›  专栏  ›  嵌入式微处理器

C++内联函数的概念与写法

嵌入式微处理器  · 公众号  · 科技创业 科技自媒体  · 2024-09-14 12:00

主要观点总结

文章介绍了C++中的内联函数概念,包括其定义、作用、与普通函数的区别、书写方式以及内联函数与宏定义的对比。

关键观点总结

关键观点1: 内联函数的概念和存在意义

内联函数是C++为了提高程序运行速度所做的改进。普通函数和内联函数的主要区别在于编译器如何将其组合到程序中。

关键观点2: 内联函数的书写方式

内联函数可以通过在函数声明或定义前添加关键字inline来标识。通常的方法是将整个函数的定义(包括函数头和所有代码)放在原型声明的地方。

关键观点3: 内联函数与宏定义的对比

内联函数和宏定义都是实现代码重复利用的方式,但内联函数通过编译器处理,而宏定义是通过文本替换实现。内联函数相对于宏定义更安全,可以避免一些潜在的问题。

关键观点4: 内联函数的注意事项

程序员请求将函数作为内联函数时,编译器不一定满足要求。应该注意有选择地使用内联函数,如果函数的执行时间比处理函数调用机制的时间长,则使用内联函数可能不带来显著的性能提升。


文章预览

C++ 内联函数的概念 介绍内联函数之前,需要说明一下 C ++ 在执行普通函数时的一个过程,在调用普通函数时,执行到函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈,跳转到标记函数起点的内存单元,执行函数代码,然后调回到地址被保存的指令处,下图是关于 C ++ 普通函数调用的一个示意图: 普通函数调用示意图 有了普通函数的存在了,为什么还需要内联函数呢?这是因为 内联函数是 C++ 为了提高程序运行速度所做的一项改进 ,普通函数和内联函数之间的主要区别不在于编写方式,而在于 C++ 编译器如何将他们组合到程序中去,那究竟什么是内联函数呢,内联函数的编译代码与其他程序代码“内联”起来了。也就是说,编译器将使用相应的函数代码替换函数调用。对于内联代码来说,程序无需跳转 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览