类型有 基本数据类型 和 复合类型 ;
基本数据类型,如int,char等基本数据类型;
复合类型:指针 和 引用;
引用:为对象起立另一个名字,引用类型引用另一种类型。
引用并非对象,相反的,它只是为一个已存在的对象所起的另外一个名字。如图1-1。
图 1-1
引用必须进行初始化,定义了一个引用之后,对其进行的所有操作都是在与之绑定的对象上进行的。
为引用赋值,实际上是把值赋给了与引用绑定的对象;
获取引用的值,实际上是获取了与引用绑定的对象的值;
以引用对象作为初始值,实际上是以与引用绑定对象的作为初始值。
引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起;
引用的基本数据类型必须与引用对象的基本数据类型一样。如下面代码所示。
#include <iostream>
using namespace std;
int main()
{
int a = 10;
//int &r; //错误的,引用必须初始化。
int &ra = a; //ra与变量a绑定
ra = 20; //为引用赋值,实际上是a = 10
cout<<"a = "<<a<<endl;
cout<<"ra = "<<ra<<endl; //获取引用的值,实际上是输出a的值
int b = ra; //以引用对象作为初始值,即b = a;
cout<<"b = "<<b<<endl;
//int &rc = 10; //错误的,引用不能直接与字面值绑定在一起
double da = 3.14;
//int &rb = da; //错误的,引用的类型必须与引用对象的类型一致
return 0;
}