c++基础

new与delete

new,delete用于堆空间的分配与回收

new:用于从堆中分配指定大小得内存区域,并返回内存区域得首地址,相较于malloc可以自动计算大小,无需指针转换。

用法示例:

1
int *arr = new int[100];

delete:用于释放new分配的堆内存

用法示例:

1
delete[] arr;

 

引用

引用是某个对象(即变量)的别名,定义形式如下:

类型&引用名 = 变量名;

例如

1
2
int a = 10;
int &b = a;

引用很少单独使用,常常作为形参的方式

例如:

1
void swap(int &a,int &b){...}

注意:

(1)在变量声明时出现&才是引用运算符,其它地方的&都是取地址运算符;
(2)引用代表一个变量的别名,必须在定义时初始化,不能在定义完成后再赋值;
(3)一个引用名只能作为一个变量的别名;

 

传参方式

传地址方式

1
void swap(int *p1, int *p2);

传地址方式的要点是:main函数和swap函数共用x,y变量的存储空间,只不过在main函数中,用x,y访问此空间;而在swap函数中,则用$*p1,*p2$这种间接访问方式访问此空间。由于空间是共用的,所以形参$*p1,*p2$发生了改变,也就影响到了实参x,y。

 

传引用方式

1
void swap(int &a, int &b)

传引用方式的要点是:在main中,用变量x,y访问存储空间,在swap函数中,用变量的别名a,b访问存储空间。由于a,b就可以看成是x,y,因此交换了a,b的内容,自然就影响了x,y。

 

类与对象

类与对象的基本概念

类(class):它将数据以及这些数据上的操作封装在一起。

对象(object):是具有类类型的变量

类的定义

成员函数

构造函数

析构函数

构造函数重载

默认构造函数