返回信息流int q = 2013;
int * & p = &q;
为什么会出错?
这是一条镜像帖。来源:北邮人论坛 / cpp / #72713同步于 2013/7/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
关于指针和引用
origin
2013/7/23镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
非const引用只能绑定到与该引用同类型的对象。const引用则可以绑定到不同但相关的类型的对象或者绑定到右值。
所谓右值是指那些只能出现在赋值的右边,不能出现在赋值语句的左边的值。
C++ Primer第2章里有相关的介绍。
【 在 liuleixh 的大作中提到: 】
: 可以这样:
: int q=2013;
: int *p=&q;
: ...................
我知道可以这样,但不知道为什么不能那样
引用的初始化问题。非const引用的初始化只能用与它同类型的变量进行初始化,而不能用常量或者表达式。&q是表达式,不是变量,不能用于初始化非const引用。
【 在 liuleixh 的大作中提到: 】
: 可以这样:
: int q=2013;
: int *p=&q;
: ...................
【 在 disneymickey 的大作中提到: 】
: 引用的初始化问题。非const引用的初始化只能用与它同类型的变量进行初始化,而不能用常量或者表达式。&q是表达式,不是变量,不能用于初始化非const引用。
赞!学习了