引用
- 就像人的别名,人不能只有别名,变量也不能只有引用。
- 指针类型的引用:*&指针引用名 = 指针。
- 如
int a = 10;int *p =&a;int *&q =p1
const
- const定义常量,无法更改。
- const定义指针时
const int *p = NULL
与int const *p = NULL
等价,但与int * const p = NULL
不同。
int x = 3; const int *p = &x; //p = &y;正确 //p = 4错误
int x = 3; int *const p = &x; //p = &y;错误
const int x = 3; const int *const p = &x; //p = &y;*p = 4 均错误
int x = 3; const int &y = x; //x = 10;正确 // y = 20;错误
C++函数新特性
- 函数参数默认值:定义函数时,参数可以有默认值,如
void fun(int i,int j = 5,int k =10);
- 但需要注意,默认值必须在参数表的最右端,如
void fun(int i;int j = 5, int k)
是错误的。
- 没有实参输入时,使用默认值,否则使用实参覆盖默认值。
- 函数重载:相同作用域内,用同一函数名定义的多个函数,或者参数个数和参数类型不同的函数。
- 如
int getMax(int x, int y, int z){//to do}
和int get Max (double x, double y)
相互重载。
- 重载的好处:让计算机代替我我们决定应该使用哪个函数,提高编码效率。
- 内联函数:编译时将函数体代码和实参代替函数调用语句。可以为函数调用节省很多时间,特别是循环调用。关键字:inline
- 内联函数是建议性的,由编译器决定。
- 逻辑简单,调用频繁的函数建议使用内联。
- 递归函数无法使用内联方式。
内存管理
- 内存的本质:资源
- 操作系统掌管内存资源
- 内存管理的意义:向操作系统申请/归还内存
- 申请内存:int *p = new int;
- 释放内存 delete p;
- 申请和释放块内存:
int *arr = new int[10];申请块内存
,delete []arr;//释放块内存
- 申请内存注意事项:有可能出现申请失败的情况需要再申请时考虑到`int *p = new int [1000];if(NULL == p)
- 释放内存注意事项:要根据单个内存与块内存进行匹配,
delete p
与delete []p
各自对应,还需要将指针置空p = NULL;
。如果没有收回指针,如果将一块内存重复回收,计算机就会出现异常。
posted @
2016-02-12 00:44
味增汤-
阅读(
135)
评论()
编辑
收藏
举报