17
为什么引用在C ++中不可重定位
C ++引用具有两个属性: 他们总是指向同一个对象。 它们不能为0。 指针相反: 它们可以指向不同的对象。 它们可以是0。 为什么在C ++中没有“不可为空的,可重定位的引用或指针”?我想不出为什么引用不可重新引用的充分理由。 编辑: 问题经常出现,因为当我要确保“关联”(在这里避免使用“引用”或“指针”一词)永远不会无效时,我通常会使用引用。 我认为我从来没有想过“太棒了,这个引用总是指向同一个对象”。如果引用是可重新定位的,则仍然可以得到如下所示的当前行为: int i = 3; int& const j = i; 这已经是合法的C ++,但毫无意义。 我这样重申我的问题: “'引用是对象'设计的背后原理是什么?为什么认为引用始终是同一对象而不是仅在声明为const时有用?” 干杯,菲利克斯