21xrx.com
2024-09-20 00:43:59 Friday
登录
文章检索 我的文章 写文章
C++中内联函数与普通函数的不同之处
2023-07-05 07:07:44 深夜i     --     --
内联函数 普通函数 编译器 函数调用 程序性能

C++中有两种类型的函数,一种是内联函数,另一种是普通函数。内联函数和普通函数有很大的不同之处,下面我们来一一讲解一下。

1. 编译方式不同

普通函数在编译时会被编译成一个独立的函数,在程序运行时调用该函数时会跳转到该函数的代码段,执行完毕后再返回原程序。

而内联函数在编译时会将函数的代码插入到程序中调用该函数的地方,因此在程序运行时并不需要跳转到函数的代码段。

2. 代码长度不同

普通函数的代码较长,因为在编译时会被编译成一个独立的函数,在程序运行时需要跳转到该函数的代码段,这需要额外的开销。

而内联函数的代码较短,因为函数代码被插入到程序中调用该函数的地方,所以不需要跳转到函数的代码段,减少了额外的开销。

3. 内存消耗不同

普通函数会在内存中占用独立的空间。而内联函数则会在程序中直接复制函数体的代码,因此内存消耗要比普通函数小。

4. 调用方式不同

普通函数的调用方式是通过函数名来调用,可以通过函数的地址来访问函数体中的代码。

而内联函数的调用方式是直接将函数的代码插入到程序中调用该函数的地方,因此不能通过函数的地址来访问函数体中的代码。

总之,内联函数和普通函数都有各自的优缺点,在使用时应根据实际情况进行选择。如果需要频繁调用函数,建议使用内联函数,可以提高程序的执行效率;如果函数体较长或者需要使用递归,建议使用普通函数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复