inline和默认形参

简介: 声明时使用关键字 inline。编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。注意:内联函数体内不能有循环语句和switch语句。内联函数的声明必须出现在内联函数第一次被调用之前。对内联函数不能进行异常接口声明 函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。

声明时使用关键字 inline。
编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。
注意:
内联函数体内不能有循环语句和switch语句。
内联函数的声明必须出现在内联函数第一次被调用之前。
对内联函数不能进行异常接口声明

函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。
例如:

int add(int x=5,int y=6)
{    return  x+y;
}

void main(void)
{    add(10,20); //10+20
      add(10);  //10+6
      add();  //5+6
}

默认形参值必须从右向左顺序声明,并且在默认形参值的右面不能有非默认形参值的参数。因为调用时实参取代形参是从左向右的顺序。
例:
int add(int x,int y=5,int z=6); //正确
int add(int x=1,int y=5,int z); //错误
int add(int x=1,int y,int z=6); //错误

 

目录
相关文章
|
2月前
|
安全 编译器 C语言
深入了解C++:形参、内联、重载、引用、const和指针、new和delete
深入了解C++:形参、内联、重载、引用、const和指针、new和delete
21 1
|
2月前
用auto定义变量
用auto定义变量。
14 0
|
4月前
|
C++
C++基础-命名空间-缺省参数-函数重载-引用-内联-auto-范围for(1)
1. 命名空间 在C/C++中,变量、函数和类都是大量存在的,它们的名称都将存在于全局作用域中,可能会导致很多冲突。如下图:
39 0
|
8月前
|
JavaScript
TypeScript 函数的详细使用(默认参数、可选参数、剩余参数、重载声明)
TypeScript 函数的详细使用(默认参数、可选参数、剩余参数、重载声明)
94 0
|
9月前
|
编译器 C++
C++的auto类型说明符详解 附易错实例
C++的auto类型说明符详解 附易错实例
88 0
|
10月前
|
编译器 Linux C语言
参数缺省和函数重载讲解
参数缺省和函数重载讲解
83 0
函数高级 — 默认参数、占位参数、函数重载
函数高级 — 默认参数、占位参数、函数重载
104 0
函数高级 — 默认参数、占位参数、函数重载
|
存储 自然语言处理 安全
【C++】C++入门 --- 命名空间 | 输入输出 | 缺省函数 | 函数重载 | 引用 | 内联函数 | auto关键字 | 基于范围的for循环 | 指针空值
命名空间 | 输入输出 | 缺省函数 | 函数重载 | 引用 | 内联函数 | auto关键字 | 基于范围的for循环 | nullptr
135 0
【C++】C++入门 --- 命名空间 | 输入输出 | 缺省函数 | 函数重载 | 引用 | 内联函数 | auto关键字 | 基于范围的for循环 | 指针空值
|
C语言 Android开发 C++
【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )
【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )
171 0

热门文章

最新文章