|
|
1
11
因为没有语法可以执行此操作:
现在如果我说:
我将y的值赋给x。如果我想重新安装,我需要一些特殊的语法:
由于使用引用的主要原因是作为参数和函数的返回类型,而这并不是一个问题,因此C++的设计者似乎不认为这是一条值得走下去的道路。 |
|
2
7
引用是对象的别名。
|
|
|
3
3
因为引用没有自己的地址(如果有,则依赖于实现,并且您不能直接使用&运算符访问它们)。 政府;运算符用于获取引用引用的对象的地址。
如果某个东西没有自己的地址,那么它就不能在里面存储值。如果它不能在里面存储一个值,那么它就不能被改变。 我认为 parashift C++ FAQ on references
又在 FAQ 8.5 :
|
|
4
1
再次查看您的代码:
引用是别名。对引用执行的所有操作都是对其引用的对象执行的。在上面的代码中,编译器如何神奇地知道您不是在尝试将值分配给引用的变量,而是在尝试更改引用本身?没有语法表明这两者之间的区别,例如:
您通常希望将值3指定给引用的对象
简言之,这完全是出于设计。如果您想要“可重置”引用,那么您只需使用指针(或者,如果您想要避免意外的指针算术,
|
|
|
5
1
与指针不同,引用的设计目的是确保它们始终引用对象。为了满足这个要求,编译器要求在声明中初始化所有引用,并且不允许您重新分配它们。
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |