c++ - 如果 const 不分配内存,为什么我可以得到 const 的地址?
问题描述
C++ Primer说如果const可以在编译时初始化,它会将标识符交换为初始化时使用的值,那么为什么我可以在编译时获得const初始化的地址?
解决方案
该语句中的关键词是can。如果编译器可以,那么它可能会在编译时用文字替换您的常量。如果你获取常量的地址,那么编译器必须为它分配内存,以便有一些东西可以指向。即使您这样做,当您在其他地方使用常量时,它仍可能使用文字而不是内存位置。
推荐阅读
- php - 使用 password_hash 时更改密码形式
- python - 如何在python中打印具有与列数不同的行数的二维数组的所有元素?
- python - 将动态变量值从机器人框架传递到 python 文件
- mysql - 如何在 MySQL 中创建一个出现计数器,每次计数器发现它出现的 id 都会增加?
- karate - 通过空手道 DSL 中的示例关键字的动态有效负载
- python-3.x - 当特定列值对于某些行数连续时如何获取行
- semantic-versioning - 当项目各部分之间的兼容性不同时如何使用语义版本控制
- uitableview - 如何分配“字符串”类型的值?输入“UIImage?”
- three.js - 为什么我的遮挡剔除在 Three.js 中失败?
- nginx - 如何使 nixos 上的 grafana 在本地网络中可用