-
指针指向const修饰的变量时,应该是const int const*p=&a;查看全部
-
指针类型引用查看全部
-
只有别名无法成立查看全部
-
实用的引用函数参数查看全部
-
指针指向const修饰的变量时,const int const *p=&a,查看全部
-
P不可改变,*p可以赋值,相当于给x赋值查看全部
-
const 检测语法错误;define 采用宏定义,不检测语法错误查看全部
-
const #define 定义常量效果相同查看全部
-
int *const p 绑定地址,变量的值可以改变 int const *p 绑定值,*p可以指向别的变量查看全部
-
函数重载,名称相同,参数可变查看全部
-
参数默认值在列表的最右端查看全部
-
1.内存 本质:资源 掌控:由操作系统掌控 我们能做:申请、归还资源 2.malloc()和free()搭配使用;malloc()和free()是函数 new 和 delete 搭配使用; new 和delete 是运算符 配套使用,不要混搭! 3.申请内存空间不一定成功,编码时注意:申请成功与否的判断 以及 异常(分配失败)处理; 释放后相应的指针要置空(因为释放内存只是意味着某一块内存空间重新成为公用的内存,但是其中存储的数据并没有消除,而指针不置空,也就是依然指向原来分配的内存空间的话,容易出错!) 4.配图 注意申请单个空间和内存块的差别! int *p=new int(20);//圆括号:申请的同时也完成了赋值。 int *p=new int[20]; p[0]=10; p[1]=20; //内存块的申请赋值,注意:内存块不能用如下方式赋初值:int *p=new int[7]={1,2,3,4,5,6,7};查看全部
-
1.函数参数默认值(有默认参数值的参数必须在参数表的最右端) void fun(int i,int k=5;int j=6) 正确! void fun(int i,int k=5;int j) 错误! 声明函数的时候可以加上参数默认值; 定义函数的时候不建议加上函数参数值(可能编译不通过!) 2.函数重载:在相同作用域内,用同一函数名定义的多个函数,当参数个数或参数类型不同时,可以函数重载。 原因:对于相同函数名的函数,编译器会根据参数类型和个数重新起一个函数名,例: Max(int x,int y,int z); Max_int_int_int; 3.内联函数(配图) 省掉了②和④这两步,有利于节省时间、提高效率; 声明时使用关键字inline,其他与普通函数调用无异。 inline int max(int x,int y); (1)使用有条件 ①内联函数是建议性的,由编译器决定最终到底用不用 ②逻辑必须简单(不能含有循环语句等),调用频繁的函数建议使用 ③递归函数无法使用内联函数查看全部
-
宏定义在编译预处理的时候会进行替换,因此无法检查语法错误,所以推荐使用const声明常量 const还常用于修饰函数的引用类型的形参,这样可以避免因为函数的误操作改变实参,例: void change(const int &a) { a=5;//此时编译显示这一行错误,错误原因:不能给常量赋值! } 1.const与基本数据类型:const int x=4;(x成为不可更改的常量) 2.const与指针类型: (1)const int *p=NULL; int const *p=NULL;完全等价 (2)int *const p=NULL; int x=3; const int *p=&x; 那么 p=&y;正确 *p=4;错误 int x=3; int *const p=&x; 那么 p=&y 错误 *p=4;正确 区别关键是:const是加在(*p)前面还是(p)前面! const 可以两处都加 const int * const p=NULL 等价于int const * const p=NULL; 此时:p=&y 和*p=4都错。 3.const 与引用 int x=3;const int &y=x; 那么 x=10;正确 y=20;错误(只能通过x改y,反之不行) 4.实例:(以下均错,除了最后一个) (1)const int x=3; x=5; (2)int x=3; const int y=x; y=5; (3)int x=3; const int *y=&x; *y=5; (4)int x=3,z=4; int *const y=&x; y=&z; (5)const int x=3; const int &y=x; y=5; (6)const int x=3; int *y=&x; (定义可变的指针指向不可变的变量,有风险,不允许) int x=3; const int *y=&x;(这样是正确的)查看全部
-
指针和引用查看全部
举报
0/150
提交
取消