C++引用与指针的区别
一、引用(reference):即为对象起个别名
1、引用必须被初始化
2、不可以直接引用常量(字面量)
3、引用更接近与const指针,一旦与某个变量关联起来。就一直效忠于它
4、将引用作为参数时,函数使用原始数据,而非副本
5、当数据所占内存较大时,建议使用引用参数
注意:引用即别名,不占内存空间
int Value = 1024;
//refValue 指向Value,是 Value的另一个名字
int &refValue = Value;
double &refDouble = 100;//错误
const double &refDouble = 100;//正确
二、指针:存放对象内存地址的变量
1、&取址符号
*定义指针或取值符号
int a = 100;
int* ptr = &a;//即取a的地址
*ptr= 200;//改变a的值
2、指针本身就是一个对象,允许对指针赋值和拷贝。在指针的生命周期内,
它可以先后指向几个不同的对象。
3、指针无须在定义时赋初值
4、多级指针,以后再说