【发布时间】:2017-11-26 04:20:59
【问题描述】:
我目前正在阅读 c++ Primer,在其中一个练习中,它显示了 2 种类型的引用初始化,一种是 const,一种不是,在一种 const 中,引用指向 0.. 我认为引用只能指向对象!!
int i = -1, &r = 0; // illegal, r must refer to an object.
const int i = -1, &r = 0; // legal.
所以第一个,int变量i是-1。然后 int 引用 r 指的是 0 即 无效,明白了
现在在第二个中,const int i = -1,然后 const reference r = 0.. 怎么样?
我知道引用不能是 const,const 是引用所指的内容,并且书上说 const 引用可以引用 const 和非 const 对象(相同类型)。这仍然不能解释为什么它可以指向 0,它根本不是一个对象..
我不确定第二个语句是如何有效的,请有人解释一下!
【问题讨论】:
-
你知道右值和左值这两个术语吗?这些决定了允许绑定到哪些引用(连同类型)。
-
@NirFriedman 问这个问题时,我没有,但是当它得到回答时,我用谷歌搜索了它们,现在我做了......谢谢!
标签: c++ variables reference constants