-
int a=10; int *p=&a; int *&q=p; %这个怎么理解?查看全部
-
内联函数的使用查看全部
-
若无实参则使用默认值查看全部
-
声明时可以加上默认值,定义时最好不要写查看全部
-
函数中的参数有默认值的一定是在最右端查看全部
-
指针*p是不会被const的,而&p则会被const查看全部
-
const int count = 3; int *p = &count; 看上去是对的,但这个存在风险,所以定义为错的查看全部
-
关于const用法,以下错误的是 int const a = 3; int *p = &a; 指针指向const修饰的变量时,应该是const int const *p = &a;查看全部
-
int *arr和int arr[]等价查看全部
-
函数可以有默认值查看全部
-
内存的申请和释放 1.基本语法 【new】申请 int *p=new int;//使用指针指向申请的资源 【delete】释放 delete p;//删除相应指针即可 对于块内存: int *arr=new int[10]; delete []arr; //若使用delete arr则只能释放第一个位置的内存! C语言申请和释放内存: void *malloc(size_t size); void free(void *memblock); 【注意以上内存申请和释放的关键字配套使用,不能混搭】 2.实际使用 一般需要考虑内存申请失败的情况: int *p=new int[10]; if(NULL=p){ //内存分配失败 //异常处理 } delete []p; p=NULL;//需要将指针置空(可能会同一块内存重复回收,系统会出现异常)查看全部
-
【1】函数参数默认值 有默认参数值的参数必须放在参数表的最右端 无实参则使用默认值,否则实参覆盖默认值(也就是说允许传入的参数个数和函指定的参数个数不相等) 【内联函数】 (主要编译时与普通函数不同,循环调用使用内联函数更高效) inline *内联编译只是建议性的,最终由编译器决定是否使用 *逻辑结构简单,调用频繁的函数建议使用内联函数 *递归函数无法使用内联方式查看全部
-
#define 属于宏定义,计算机不会检查语法错误 const 计算机会检查语法错误【推荐使用】 const在函数中使用,保证函数在操作过程中不会改变原始值查看全部
-
编译器不允许一个非const指针指向一个const变量(否则可以通过指针对const变量的值进行修改,存在风险)查看全部
-
1.const int *p=NULL 等价于 int const *p=NULL const int *const p=NULL 等价于 int const*const p=NULL查看全部
举报
0/150
提交
取消