前言
之前的文章我们已经介绍了C++中的基本类型如int,bool和double等,除了基本类型C++还有一些更复杂的数据类型复合类型,所谓的复合类型就是通过其他类型定义的类型,本篇文章我们将会着重介绍C++的复合类型引用和指针。
引用
一个引用是定义一个对象的别称,一个引用类型是指向其他类型的,下面就是引用声明的例子。
int val = 1024;
int &refVal = val; //refVal指向val
int &refVal2; //错误,引用必须初始化
通常来说,当我们初始化一个变量,初始化的值就会拷贝进我们创建的对象,当创建一个引用时,不是拷贝初始化的值,而是将引用与初始化的对象绑定,一旦初始化,一个引用就是保持与初始化对象的绑定,且无法重新绑定,所以引用必须要初始化。
指针
指针是一个复合类型指向其他的类型,就像引用,指针也是用于间接获取对象,但是与引用不同,指针是一个对象,它拥有对象有的能力,一个指针可以赋值和拷贝,在它的生命周期内,一个指针可以指向多个对象,且指针无需在定义时就初始化,就像其他的基本类型,如果其范围内没有初始化会有一个默认值,以下就是指针的声明,*是指针操作符。
int *p1, *p2;
double dp, *dp2;
指针与地址
一个指针持有一个对象的地址,