-
int &b=a;此处&b为a的别名 b=10; 输出a的时候还是b的值查看全部
-
引用其实就是实体的别名。对引用的操作就是对实体的操作。 指针的引用:对于p指针,指向a变量,用 int *&q = p实现引用,改变*p和*q都会改变a的值查看全部
-
声明写默认值,定义不写默认值查看全部
-
由函数默认值的必须在参数的最右边查看全部
-
指针指向const修饰的变量时,应该是const int const *p = &a;查看全部
-
引用就是起了一个别名,小名查看全部
-
释放后要设为空指针查看全部
-
内容总结查看全部
-
类内声明方法,类外定义方法,定义的时候不需要参数的初始值,main函数里调用函数查看全部
-
函数重载是因为不知道用户要传入的参数是什么样的,事先涵盖所有可能查看全部
-
权限小的变量可以接收权限大的,权限大的就不可以接收权限小的变量查看全部
-
内存管理 什么是内存管理: 内存的本质是什么=》是一种资源 谁掌控内存资源?=》操作系统 我们能做什么?=》资源申请及归还 申请内存:new 归还内存:delete 申请和释放内存的方法: 1.申请:int *p = new int; 2.释放:delete p; 如何申请及释放块内存? 申请:int *arr = new int[10]; 释放:deleted []arr; 内存操作需要注意的注意事项: C语言: 申请:void *malloc(size_t size); 释放:void free(void *memblock); C++语言: 申请:new 释放:delete 申请内存是否一定成功? int *p = new int; if (NULL == p) //申请内存注意事项 { //申请内存失败 } delete p; p = NULL; //释放内存注意事项 注意:申请块内存,释放块内存。 申请后需要对申请后的指针进行申请成功判断,释放指针后,需要对指针复制为NULL。查看全部
-
内联函数补充: 关键字Inline只需要定义在函数声明处,不需要定义在函数定义处。查看全部
-
函数参数默认值: 函数参数默认值一定要写在函数参数的最右端。 函数参数默认值要写在函数声明中,不要写在定义内。 无实参则用默认值,否则实参代替默认值。 函数重载: 在相同的作用域内: 1.用同一函数名定义的多个函数。 2.参数个数和参数类型不同。 int getMax(int x, int y, int z) => 编译=> getMax_int_int_int { //to do } double getMax(double x, double y) => 编译=> getMax_double_double { //to do } 内联函数: 编译时将函数体代码和实参代替函数调用语句。 内联函数的关键字:inline inline int max(int a, int b, int c); int main() { int i = 10, j = 20, k = 30, m; m = max(i, j, k); //编译时进行代码替换 cout << "max = " << m << endl; } 内联编译是建议性的,由编译器决定。(是程序员建议编译器的,无决定权) 逻辑简单,调用频繁的函数建议使用内联函数。 递归函数无法定义为内联函数。 函数参数默认值:实参覆盖默认值 函数重载:名称相同参数可辨 内联函数:inline效率高,有条件查看全部
-
const 与 指针 const int *p = NULL; <=> int const *p = NULL; //const修饰的是指针指的变量值。指针可以改变,指针指向的变量值不能改。 int *const p = NULL; //const修饰的是指针,指针值不能变,指针指向的值可以变。 const int *const p = NULL; <=> int const *const p = NULL; //指针变量及指针指向的变量值都不可改变。 const 与 引用 int x =3; const int &y = x; //x = 10;正确。 //y = 20;错误。 const int x = 3; x = 5; //错误 int x = 3; const int y = x; y = 5; //错误 int x = 3; const int *y = &x; *y = 5; //错误 int x = 3, z = 4; int *const y = &x; y = &z; //错误 const int x = 3; const int &y = x; y = 5; //错误 const int x = 3; int * y = &x; //错误 (权限大的接受一个权限小的) int x = 3; const int *y = &x; //正确 (权限小的接受一个权限大的)查看全部
举报
0/150
提交
取消