首页 > 解决方案 > 如果 const 不分配内存,为什么我可以得到 const 的地址?

问题描述

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

标签: c++

解决方案


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


推荐阅读