-
1.声明加函数默认值 2.定义不加函数默认值查看全部
-
int x = 15; int const *p1 = &x; //不能通过p1改变x的值 int *const p2 = &x; //不能改变p2指向 int const *const p3 = &x; //上面两者都不能查看全部
-
int const *p=&a; p=&b;此时*p==a *p=b;语法错误查看全部
-
int * const p=&a; *p=10; 则a=10 p=&b;语法出错查看全部
-
const int * const p=NULL; int const *const p=NULL; 等价查看全部
-
const int *p=NULL; int const *p=NULL: 等价查看全部
-
引用不能单独存在查看全部
-
只能将权限大的(a具有读写能力)赋给权限小的(*p只有读的能力),查看全部
-
3.指针引用 int *a; int *&aa = a;查看全部
-
2.基础数据类型也可引用 如: int a = 3; int &b = a;查看全部
-
1.引用必须初始化查看全部
-
delete p; p= NULL; delete []p;//如果没有中括号,只释放[1000]个内存空间里面的第一个内存,其他的内存不释放 p=NULL;查看全部
-
声明的时候写默认值,实现的时候去掉,要不然编译出错查看全部
-
一、函数参数默认值 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循环等,递归函数无法使用内联方式查看全部
-
释放内存时要将原内存指针置为空,查看全部
举报
0/150
提交
取消