小编GTA*_*GTA的帖子

清单常量vs C++关键字"const"

阅读Meyers一书(第2项"更喜欢const到#define")我想理解下面列出的一些句子:

  1. 参考#define ASPECT_RATIO 1.653const aspect_ratio = 1.653Meyers 之间的比较要求"......在浮点常数的情况下(例如在这个例子中),使用常量可能产生比使用更小的代码#define." 问题是:使用较小的代码Meyers意味着可执行文件磁盘上的空间较小?为什么它更小?我认为这可能在32位系统上有效,因为在这种情况下,一个int(或指针)需要4个字节和一个双8字节.因为ASPECT_RATIO可能无法输入符号表,所以名称将替换为值,而在其他情况下可能会使用const指向唯一double值的指针.在这种情况下,这个概念在64位机器上不再有效(因为指针和double是相同的字节数).我不知道我是否解释了我的意思,特别是如果这个想法是正确的?

  2. 然后迈耶斯问道:"虽然好的编译器不会const为整数类型的对象留出存储空间(除非你创建一个指针或对象的引用),但是你可能不愿意为这样的编译器留出内存对象..."在这种情况下,内存是执行过程占用的RAM?如果验证这是正确的我可以使用任务管理器(在Win中)或顶部(在Linux中)?

c++

9
推荐指数
1
解决办法
3127
查看次数

标签 统计

c++ ×1