【C++知识点】内联函数inline

简介: 【C++知识点】内联函数inline

内联函数inline

函数的作用:

避免重复制造轮子,避免重复多次写相同的代码。


函数的缺点:

每调用一次函数,就会为这个函数分配一个“栈”,在计算机底层做很多准备工作(保护原来的执行环境,切换到新的执行环境),有一定的“时间开销”。


解决方案:

使用内联函数。

内联函数:

当编译器在编译时,如果遇到内联函数,就会直接将整个函数体的代码插入”调用处”,就相当于内联函数的函数体,在调用处被重写了一次。从而避免函数调用的开销,获得更快的时间。


内联函数的缺点:

使调用内联函数的程序变得“臃肿”,消耗调用函数的“栈”空间。

内联函数的用法:

inline int add(int a, int b)
{
   return a + b;
} 


内联函数的使用场合:


  1. 内联函数中的代码应该只是很简单、执行很快的几条语句。
  2. 这个函数的使用频度非常高,比如在一个循环中被千万次地使用。

数的定义(即整个数体),而不能只出现内联函数的声明。

目录
相关文章
|
25天前
|
C语言 C++
C++(三)内联函数
本文介绍了C++中的内联函数概念及其与宏函数的区别。通过对比宏函数和普通函数,展示了内联函数在提高程序执行效率方面的优势。同时,详细解释了如何在C++中声明内联函数以及其适用场景,并给出了示例代码。内联函数能够减少函数调用开销,但在使用时需谨慎评估其对代码体积的影响。
|
1月前
|
安全 编译器 C++
C++入门 | 函数重载、引用、内联函数
C++入门 | 函数重载、引用、内联函数
27 5
|
2月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
3月前
|
存储 网络协议 编译器
【干货总结】Linux C/C++面试知识点
Linux C/C++基础与进阶知识点,不仅用于面试,平时开发也用得上!
525 10
|
3月前
|
存储 编译器 C语言
【C++入门】—— C++入门 (下)_内联函数
【C++入门】—— C++入门 (下)_内联函数
24 2
|
3月前
|
C语言 C++ 编译器
【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数
【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数
【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数
|
2月前
|
算法 编译器 C++
C++基础知识(三:哑元和内联函数和函数重载)
在C++编程中,"哑元"这个术语虽然不常用,但可以理解为在函数定义或调用中使用的没有实际功能、仅作为占位符的参数。这种做法多见于模板编程或者为了匹配函数签名等场景。例如,在实现某些通用算法时,可能需要一个特定数量的参数来满足编译器要求,即使在特定情况下某些参数并不参与计算,这些参数就可以被视为哑元。
|
3月前
|
存储 安全 编译器
C++进阶之路:何为引用、内联函数、auto与指针空值nullptr关键字
C++进阶之路:何为引用、内联函数、auto与指针空值nullptr关键字
35 2
|
3月前
|
存储 安全 编译器
【C++】:函数重载,引用,内联函数,auto关键字,基于范围的for循环,nullptr关键字
【C++】:函数重载,引用,内联函数,auto关键字,基于范围的for循环,nullptr关键字
28 0
|
3月前
|
C++
C++继承的相关知识点
C++继承的相关知识点
25 0