东湖之滨 发表于 2024-5-13 21:39:02

第八章 函数探幽

8.1 C++内联函数

提出的目的:为了提高步伐运行速度。
内联函数和普通函数的区别:

[*]编译方式:

[*]内联函数在编译时会被直接更换到调用处,而不是像普通函数那样通过函数调用的方式执行。如许可以减少函数调用的开销,提高步伐执行效率。
[*]普通函数则是通过函数调用的方式执行,会涉及函数栈的压栈和出栈操作。

[*]代码复制:

[*]内联函数会在每个调用处直接插入函数代码,因此可能会导致代码冗余增加,尤其对于较大的函数来说。
[*]普通函数只在内存中存储一份代码,多次调用时共享这一份代码。

[*]适用场景:

[*]内联函数得当用于简单的、频仍调用的函数,可以减少函数调用带来的开销。
[*]普通函数得当用于复杂的、功能复用性强的函数,可以提高代码的可读性和维护性。

[*]代码大小:

[*]利用内联函数可能会增加终极天生的可执行文件的大小,因为函数代码会被复制到每个调用处。
[*]普通函数会减少可执行文件的大小,因为函数代码只需要存储一份。

总的来说,内联函数可以提高步伐的执行效率,但可能会增加代码的大小,空间换时间;普通函数更得当用于复杂的功能或需要多次重复调用的场景。在实际编程中,要根据具体情况选择利用内联函数还是普通函数。
下面是一个内联函数的代码例子:
#include // 内联函数定义inline int add(int a, int b) {    return a + b;}int main() {    int x = 5;    int y = 10;      int result = add(x, y); // 内联函数调用      std::cout
页: [1]
查看完整版本: 第八章 函数探幽