如果 const 不分配内存,为什么我可以获取 const 的地址?



C++ Primer说,如果const可以在编译时初始化,它会将标识符交换为初始化时使用的值,那么为什么我可以在编译时获得const初始化的地址呢?

该语句中的关键词是can。如果编译器可以那么它可以在编译时用文字替换你的常量。如果您获取常量的地址,则编译器必须为其分配内存,以便有要指向的内容。即使这样做,当您在其他地方使用常量时,它仍可能使用文本而不是内存位置。

最新更新