前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【C++】内联函数 ① ( 内联函数引入 | 内联函数语法 )

【C++】内联函数 ① ( 内联函数引入 | 内联函数语法 )

作者头像
韩曙亮
发布2023-10-15 16:46:04
发布2023-10-15 16:46:04
23000
代码可运行
举报
运行总次数:0
代码可运行

一、内联函数引入

1、内联函数引入

" 内联函数 " 是 C++ 语言中的一种特殊函数 , 其目的是为了提高程序的执行效率 ;

在 C++ 中 , 定义常量

代码语言:javascript
代码运行次数:0
复制
const int a = 10

可以替换 C 语言中的 宏定义

代码语言:javascript
代码运行次数:0
复制
#define a 10

使用 常量 可以 替代 宏定义 ;

宏定义分为两种 , 一种是 宏常数 , 另外一种是 宏代码片段 ;

  • C++ 中使用 常量 替代 宏常数 ;
  • C++ 中用于 替代 宏代码片段 的是 inline 内联函数 ;

C++ 中建议开发者使用 " 内联函数 " 替代 C 语言中的 " 宏代码片段 " ;

宏代码片段 示例 :

代码语言:javascript
代码运行次数:0
复制
// 宏代码片段
#define FUN(a, b) ((a) < (b) ? (a) : (b))

内联函数 示例 : 下面的 内联函数 可以 替换 上面的 宏代码片段 , 二者的功能基本相同 ;

代码语言:javascript
代码运行次数:0
复制
// 内联函数
inline int fun(int a, int b)
{
    return a < b ? a : b;
}

2、代码示例 - 宏代码片段 与 内联函数

在下面的代码中 , 分别定义了 宏代码片段 FUN(a, b) 和 内联函数 inline int fun(int a, int b) , 二者实现的功能基本相同 , 都可以实现获取 a 和 b 两个值之间的较小值 ;

代码示例 - 宏代码片段 与 内联函数 :

代码语言:javascript
代码运行次数:0
复制
// 导入标准 io 流头文件 其中定义了 std 命名空间
#include <iostream>
// 导入 std 命名空间
using namespace std;

// 宏代码片段 : 获取 a 和 b 中较小的值
#define FUN(a, b) ((a) < (b) ? (a) : (b))

// 内联函数 : 获取 a 和 b 中较小的值
inline int fun(int a, int b)
{
    return a < b ? a : b;
}

int main() {

    // 控制台暂停
    system("pause");

    return 0;
}

二、内联函数语法


1、内联函数语法说明

C++ 内联函数语法如下 :

代码语言:javascript
代码运行次数:0
复制
inline 函数声明 {  
    // 函数体
}

函数的声明 包括 :

  • 函数名
  • 参数列表
  • 返回类型

在 函数声明 , 也就是 普通函数 之前加上 inline 关键字 , 就可以将 普通函数 声明为 内联函数 ;

内联函数 的 调用 与 普通函数一样 , 直接调用即可 ; 只是在编译时有区别 , 使用上没有区别 ;

2、代码示例 - 内联函数基本语法

下面的代码中 , 内联函数只是在 int fun(int a, int b) 函数声明之前 , 加上了 inline 关键字 ;

调用该函数时 , 直接使用 函数名 fun 调用即可 , 与普通函数调用方式相同 ;

代码示例 :

代码语言:javascript
代码运行次数:0
复制
// 导入标准 io 流头文件 其中定义了 std 命名空间
#include <iostream>
// 导入 std 命名空间
using namespace std;

// 宏代码片段 : 获取 a 和 b 中较小的值
#define FUN(a, b) ((a) < (b) ? (a) : (b))

// 内联函数 : 获取 a 和 b 中较小的值
inline int fun(int a, int b)
{
    return a < b ? a : b;
}

int main() {

    // 调用内联函数
    int a = fun(1, 2);
    // 打印内联函数调用结果
    printf("a = %d\n", a);

    // 控制台暂停
    system("pause");

    return 0;
}

执行结果 :

代码语言:javascript
代码运行次数:0
复制
a = 1
请按任意键继续. . .
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、内联函数引入
    • 1、内联函数引入
    • 2、代码示例 - 宏代码片段 与 内联函数
  • 二、内联函数语法
    • 1、内联函数语法说明
    • 2、代码示例 - 内联函数基本语法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档