-
当const已经修饰一变量时,再去用指针去指这个变量会很危险,因为指针可以改去该变量的值,与const就有冲突的风险
查看全部 -
内联函数关键字:inline
内联函数是建议性的,由编译器决定。
逻辑简单,调用频繁的函数建议使用内联。
递归函数无法使用内联。
查看全部 -
总结如下:
查看全部 -
C++中new的初始化,int *p = new int(20);
查看全部 -
C++的内存管理,
内存的本质就是资源;操作系统掌控内存的资源,我们能对内存资源进行申请和归还。
申请和释放内存,分别使用new、delete,两者均属于运算符而不是函数。
申请内存 int*p = new int;
释放内存 delete p;
申请块内存 int* arr = new int [10];
释放块内存 delete []arr;
判断内存是否申请成功,电脑内存可能用完。
释放内存时,需要将付给的指针进行赋空,必选出现无意义的指针,会影响程序的使用。
查看全部 -
/**
*函数功能:返回a和b的最大值
*a和b是两个整数
*/
int getMax(int a, int b)
{
return a > b ? a : b;
}
查看全部 -
C++函数的重载:
计算机在面对函数重载时,是通过对同名函数形成新的函数名来区分同名函数。在调用时计算机通过传入的实参类型和实参个数来调用相应的同名函数。
使用内联函数可以省略第2步和第4步,省去很多时间,尤其是在循环调用函数时省去更多的时间。
内联函数条件:1.逻辑简单,2.不能有递归函数
查看全部 -
函数参数默认值://有默认参数值的参数必须在参数表的最右端
void fun(int i, int j=5, int k = 10);
void fun(int i, int j=5, int k);//错误
在写代码时,建议在函数声明时定义默认值,但是在函数定义时不写默认值。原因是有的编译器不能通过。
查看全部 -
int const a = 10;
在对p进行引用调用时,
指针指向const修饰的变量时,应该是const int const *p = &a;
查看全部 -
C++的引用类型,
什么是引用:即为别名
int a = 3;
int &b = a;
b = 10;
cout << a << endl;
结构体的定义:
typedef struct
{
int x;
int y;
}Coor;
int *p = &a;//指指针p指向a的地址
int *&q = p;//表示指针别名q赋值为指针p
*q=20//将20赋值给以上三个变量
查看全部 -
C++内存管理。本质为:资源的申请和归还。
内存的申请和释放。
运算符: new和delete。
申请:int *p=new int; 释放:delete p;
块内存:
int *arr=new int[10]; //申请块内存;
delete []arr; //释放块内存;
注意: 某个特定用括号,数组用中括号。
int *p=new int(20); // 访问整数20的内存
int *p=new int[20]; //空间大小为20C++和C语言比较:
申请时应考虑申请失败的情况: if(p==NULL);
释放内存之后,将指针置空。
流程为:申请(new)—判断(if p==NULL)—释放(free)—置空(p=NULL)
查看全部 -
函数参数的默认值规则:有默认值的参数应放在参数表的最右端。
函数默认值的注意事项:声明时可加默认值,定义不建议加默认值。
函数重载。
(1)同一函数名称定义多个函数;
(2)函数的参数个数或类型不同。
函数之间互称重载。内联函数,关键字 inline。
优点:效率比较高;
条件为:使用频繁且逻辑简单的函数建议内联;
递归函数无法使用内联。
查看全部 -
int const a=3; int *p=&a; //错误表达,原因:虽然a为常值,但指针p为可变的。应用const指针修饰const 变量。 //正确为: int const a=3; const int const*p=&a;
查看全部 -
1.主要对 引用--别名进行介绍。
2.对数据类型、结构体和指针的引用进行说明。
3.引用必须做初始化。 正确:int &a=b; 错误:int &a;
查看全部 -
1 c++函数形参可以赋初值,但推荐在函数声明中赋值,函数定义中不赋值; 2 c++函数形参初值会被实参覆盖查看全部
举报