引用与指针的区别

C++中引用类型与指针类型的区别

1.指针是一个对象,引用则不是一个对象,引用只是一个对象的别名。

2.指针可以初始化,也可以不初始化,赋值之后可以重新赋值;引用再定义的时候必须初始化,一旦初始化绑定某一对象之后不能重新绑定到其他对象。

3.赋值和初始化是,无论指针还是引用,等号两边类型必须一致。但是存在特殊情况:

1> 在初始化常量引用(const 修饰)时,允许用、任意表达式作为初始值,只要该表达式能转换成引用的类型即可。

例如:

const int &i = 1;

const double &j = 1.1;

int x = 2;

const int &p = 2*2+x;

-----------------------------

double dval = 3.14;

const int &dval = dval;

等价于

double dval = 3.14;

const int temp = dval;

const int &ri = temp;

这种情况下ri绑定了一个临时量对象,所谓临时量对象就是编译器需要一个空间来存放表达式的求值结果时临时创建的一个未命名的对象。

2>允许一个指向常量的指针指向非常量对象:

double dval = 3.14;

const double *p = &dval;


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值