C++ 别名如何工作?
How C++ alias works?
别名在 C++ 中是如何工作的?
它是否像指针一样分配自己的内存?
不然编译器怎么处理?
是不是像C++宏预处理器计算?
int x=5;
int &y=x; //Assembly of this???
那些被称为引用。
该标准没有描述它们(或其他任何东西)如何在汇编级别工作。
在实践中,它们被实现为指针,除非编译器将它们优化掉(与指针相比,引用更容易,因为它们不能被重新分配)。
它们与宏无关,预处理器不知道引用。
该标准包含一些有趣的引用措辞:它们“不是对象”,结果是您无法合法地有意义地检查它们的内存布局并对其进行修改。但这主要是措辞的一个特点;在大多数情况下,它们像不可变指针一样工作。
别名在 C++ 中是如何工作的?
它是否像指针一样分配自己的内存?
不然编译器怎么处理?
是不是像C++宏预处理器计算?
int x=5;
int &y=x; //Assembly of this???
那些被称为引用。
该标准没有描述它们(或其他任何东西)如何在汇编级别工作。
在实践中,它们被实现为指针,除非编译器将它们优化掉(与指针相比,引用更容易,因为它们不能被重新分配)。
它们与宏无关,预处理器不知道引用。
该标准包含一些有趣的引用措辞:它们“不是对象”,结果是您无法合法地有意义地检查它们的内存布局并对其进行修改。但这主要是措辞的一个特点;在大多数情况下,它们像不可变指针一样工作。