? 函数定义:函数功能的实现
? 函数声明:通过一行简单语句来指出函数的参数列表和返回值类型 函数声明又叫函数原型,用于对函数格式做一个简单描述 一般放在头文件中,从而告诉其它文件,当前源文件有哪些方法可以调用
//函数声明
int multiply(int a, int b);
int multiply(int, int);
//函数定义
int multiply(int a, int b){
return a * b;
}
? 默认形参 可以给函数的参数的形参指定默认值,这样在调用时就可以省略这个参数 但是指定默认值的形参,必须放在参数列表的最后面
int add (int a, int b=0);
int multiply(int a, int b, int c=1, int d=1);
add(1);
multiply(5,5);
? 内联函数 一个函数调用另一个函数,需要在不同内存之间进行跳转和返回,会有一定的性能开销 当函数代码很简单时,我们可以通过inline关键字,让编译器不创建函数,而是直接将代码拷贝到调用处,从而提升性能 inline关键字只是给编译器的一个优化建议,具体是否生效,最终取决于编译器
inline int doubleValue(int);
int doubleValue(int value) {
return value * 2;
}
? 自动确定函数的返回值类型 和变量一样,函数也可以通过auto关键字来自动确定返回值类型
auto add(int a, int b) {
return a + b;
}