定义变量时存储整数文字

时间:2013-08-16 11:44:44

标签: c++ int literals

如果我写这样的算子:

int a=32;

我是否正确理解,整数文字 32 在代码中的某处存储了int number,然后,此常量被分配给我的变量a?

2 个答案:

答案 0 :(得分:0)

CPU指令通常具有包含文字值的表单;在这种情况下,a = 32生成的商店指令包含要存储的值;在其他情况下,该值存储在程序数据中的某处,并从那里复制到变量中。

回到FORTRAN的旧时代,你可以将常量传递给修改它的函数,然后从常量中获得新值。这不是一件好事。

答案 1 :(得分:0)

不一定。 int a实际上意味着“在堆栈中保留sizeof(int)字节可用,让我们调用a,然后用32号码填充。

=,这里不是作业(a之前不存在:它是如此创建的),而是初始化程序。

数字32的位置取决于底层处理器和相关指令。它甚至可以进入代码本身,使用LD (DS+a), 32之类的指令,其中DS是数据段指针,aa变量的偏移量,32只是二进制位表示数字32。