![]() |
1
4
C++标准只定义引用的语义,而不是它们的实际实现方式。所以这个问题的所有答案都是特定于编译器的。(愚蠢但兼容的)编译器可能会选择将所有引用存储在硬盘上。只是事实证明,将引用存储为类成员的常量指针,并在可能的情况下用实际对象替换引用的出现,是最方便/最有效的方法。 例如,编译器无法在编译时决定引用绑定到哪个对象,请考虑以下情况:
程序必须在运行时存储有关引用的一些信息,有时还需要存储 ,它可以在编译时证明引用绑定到什么。 |
![]() |
2
0
引用(或指针)必须存储在内存中的某个地方,那么为什么不将其与类的其余部分一起存储呢?
|
![]() |
3
0
假设一个类只是一个用户定义的数据类型。你需要一些能够引导你找到你所引用的实际事物的东西。 在第二种情况下使用实际值更多地是关于编译器及其优化代码的工作。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |