阅读完这个答案后,我不确定引用是否真的占用内存。我知道当编译器将引用替换为被引用的变量时,它不会占用内存,就像交换引用和被引用变量一样。
然而,
实际上,编译器何时选择将引用实现为指针而不是交换,或者这与编译器不同?
然而,
由于指针确实占用内存,那么编译器将其作为指针实现,该引用现在不会占用内存吗?在编译器选择将引用作为指针而不仅仅是交换它时,可以说引用实际上以一种微小的隐式方式占用内存吗?通常情况下,编译器将引用实现为指针。但是,它们通常有关于引用可能指向什么的更多信息,并将其用于优化。
实际上,编译器何时选择将引用实现为指针而不是交换,或者这与编译器不同?