-
#include <iostream> using namespace std; /** *函数功能:返回a和b的最大值 *a和b是两个整数 */ int getMax(int a, int b) { return a > b ? a : b; } /** * 函数功能:返回数组中的最大值 * arr:整型数组 * count:数组长度 * 该函数是对上面函数的重载 */ int getMax(int *arr,int count) { //定义一个变量并获取数组的第一个元素 int maxNum = arr[0]; for(int i = 1; i < count; i++) { //比较变量与下一个元素的大小 if(maxNum < arr[i]) { //如果数组中的元素比maxNum大,则获取数组中的值 maxNum = arr[i]; } } return maxNum; } int main(void) { //定义int数组并初始化 int numArr[3] = {3, 8, 6}; //自动调用int getMax(int a, int b) cout << getMax(numArr[0], numArr[2]) << endl; //自动调用返回数组中最大值的函数返回数组中的最大值 cout << getMax(numArr, 3) << endl; return 0; }查看全部
-
函数声明时写默认值,写实际函数时不写默认值查看全部
-
一、函数参数默认值 1.有默认值参数值的参数必须在参数表的最右端 2.函数定义不写默认值,声明可写默认值 3.无实参则用默认值,否则实参覆盖默认值 二、函数重载 1.定义:在相同作用域内 用同一函数名定义的多个函数 参数个数和参数类型不同 2.思考:编译器如何识别重载的函数 三、内联函数 1.关键字:inline 2.内联编译是建议性的,又编译器决定 逻辑简单,调用频繁的函数建议使用内联 递归函数无法使用内联方式 inline 内联编译是建议性的,由编译器决定。逻辑简单,调用频繁的函数建议使用内联。递归函数无法使用内联方式。 总结 函数参数默认值 实参覆盖默认值。 函数重载 名称相同参数可变。 内联函数 效率高,由编译器决定是否使用 inline 函数名 for 和while循环不要用内联函数 递归函数无法使用内联方式 c++函数新特性: 声明函数参数默认值:有默认参数值的参数必须在参数表的最右端(从右向左左边的可有可无参数)如:void fun(int i,int j=5,int k)为错,(int i,int k,int j=5)为正确 函数在声明时可以写参数默认值,但是在定义时不要写默认值 函数在无实参时则用默认值,有实参时覆盖默认值 函数重载: 在相同作用域内,用同一个函数名定义多个函数,函数的参数个数或参数类型不同 重载好处:比如求最大值(有时候要求两个数的最大值,有时候三个数),根据参数及返回值的不同调用最合适的函数 内联函数:可以省掉2和4两个步骤的时间,定义内联函数inline 类型 函数名(参数) http://img1.sycdn.imooc.com//55864f5f0001f94612800720-120-68.jpg 内联函数只是建议性的,要不要内联由编译器决定 逻辑简单(不包含循环),调用频繁的函数建议使用内联 递归函数无法使用内联方式 如果函数形参有默认值,则参数列表中最右边的参数必须有默认值!!!! 在函数声明时可以有函数参数默认值,但是在函数定义的时候最好不要带默认值! 函数重载,表现在函数返回类型,形参类型、个数 内联函数,关键字inline,调用时相当于把函数代码在调用函数中展开,节省了调用时间和返回时间,效率高,但是注意递归函数无法作为内联函数。查看全部
-
引用必须初始化查看全部
-
const int a = 10; 指针指向const修饰的变量时,应该是const int const *p = &a;查看全部
-
const int x =3; const常量,值无法再更改。查看全部
-
引用:别名,但不可只有别名<br> int a = 3;<br> int &b = a; 对别名做操作就等于对实体做操作查看全部
-
引用~~查看全部
-
内联函数:inlina查看全部
-
释放查看全部
-
资源查看全部
-
引用必须初始化查看全部
-
引用是变量的别名查看全部
-
内联函数查看全部
-
编译查看全部
举报
0/150
提交
取消