-
int *p = new int; if(null==p) { cout<<"申请失败!"<<endl; }else cout<<"申请成功!"<<endl;查看全部
-
两个内存管理方式查看全部
-
内存的申请和释放查看全部
-
内存管理的实质查看全部
-
函数重载还是有点不懂呢查看全部
-
内联函数查看全部
-
一、函数参数默认值 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 类型 函数名(参数) 内联函数只是建议性的,要不要内联由编译器决定 逻辑简单(不包含循环),调用频繁的函数建议使用内联 递归函数无法使用内联方式 如果函数形参有默认值,则参数列表中最右边的参数必须有默认值!!!! 在函数声明时可以有函数参数默认值,但是在函数定义的时候最好不要带默认值! 函数重载,表现在函数返回类型,形参类型、个数 内联函数,关键字inline,调用时相当于把函数代码在调用函数中展开,节省了调用时间和返回时间,效率高,但是注意递归函数无法作为内联函数。。。 内联函数:内联编译是建议性的,由编译器决定。逻辑简单,调用频繁的函数建议使用内联,不能包含for和while循环等,递归函数无法使用内联方式查看全部
-
无实参就用默认值,否则实参覆盖默认值查看全部
-
有默认参数值的参数必须在参数表的最右端查看全部
-
指针指向const修饰的变量时,应该是const int const *p = &a;查看全部
-
const int *p=NULL; 与 int const *p=NULL; 等价; const int * const p=NULL; 与 int const * const p=NULL; 等价查看全部
-
typedef struct { }查看全部
-
引用就是一个别名就像一个人的外号查看全部
-
申请失败查看全部
-
new,delete是运算符,不是函数。查看全部
举报
0/150
提交
取消