引用概念()引用引入了对象的同义词。 定义参照的显示方式与定义指针类似,但使用代替*。
例如pointpt1(10,10 );
Point pt2=pt1; 定义了pt2为pt1的引用。 通过这样定义,pt1和pt2表示同一对象。
必须特别强调的是,引用只是对象的同义词,而不是生成对象的副本。 因此,执行以下语句将导致:
pt1 .偏移(2,2 );
pt1和pt2都具有[ 12,12 ]的值。
引用在定义时必须立即初始化。 因为必须是某种同义词。 不能在定义引用之后
初始化。
例如下面语句是非法的:
Point pt3;
pt3=pt1;
那么,引用只是某个东西的同义词,有什么用途呢?
本节介绍两种主要用途:作为函数的参数和从函数返回左值。
区分指针和引用: (1)定义一个指针) int a=5; int * p=a; cout 'a的值为' a ',' *p; 计数的地址是' a p; 注意:此时的“”符号是取地址的运算符。 相应的“*”是取值运算符
)2)定义一个引用(int a=5; int b=a; 因此,相当于a的别名,两个变量都指向同一个地址; 引用在定义时必须立即初始化。 因为必须是某种同义词。 不能在定义引用后初始化。 cout 'a的值为' a ',' bendl; 计数地址:“a”、“b”; 注:引用必须是某种同义词,因此在定义时必须立即初始化。 不能在定义引用后初始化。
注意:在这种情况下,“”符号用于定义引用变量
总结:注意:一定要理清“”符的使用方法与含义,规范使用;
注意:无论定义指针变量还是引用变量,都要与指向内存的类型一致
精简版:
指针:变量、独立、可变、可空、分身、无类型检查;
引用:别名、依赖、不变、非空、主体、类型检查;