c++ - “编译过程中若发现使用常量则直接以符号表中的值替换”与“const 可以节省空间,避免不必要的内存分配”是否矛盾?
大家讲道理
大家讲道理 2017-04-17 15:36:57
0
1
643
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(1)
Ty80

你用来比较的两个说法都有可商榷之处。

编译器 可能 把编译期常量折叠到指令中,完全不在栈上分配内存。也 可能 把多个相同的常量合并成一份放在数据段中。做这样的决定需要分析完整代码,影响决定的因素也不止有define和const。

tldr: 不要看代码凭空猜编译结果,可靠的比较方法唯有objdump。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!