gpt4 book ai didi

const int 不占空间?

转载 作者:IT王子 更新时间:2023-10-28 23:35:03 26 4
gpt4 key购买 nike

在对此 answer 的评论中在 the usage of Anonymous enum , Oli Charlesworth声明:

const int is immutable, and may not take up any space, depending on what the compiler chooses to do.

如果我声明 const int i = 10,如果 10 “可能不占用任何空间”,它如何存储?

假设 int 是 4 个字节,我会假设至少保留 4 个字节来存储 10 作为 const int

最佳答案

编译器可以随意优化代码,只要生成的代码提供相同的可观察到的副作用。

因此变量可以优化为只存在于寄存器中,或者替换为立即值。在伪机器代码中:

SET 10, eax
ST eax, &i # Initialise i

...

LD &i, eax # Add i to ebx
ADD eax, ebx, ebx

可能变成:

SET 10, eax
ADD eax, ebx, ebx

甚至只是:

ADD 10, ebx, ebx

关于const int 不占空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com