搜索

首页  >  问答  >  正文

“通常c++编译器并不为const创建存储空间“,可以举个例子么?

是这样么?如果真的存在,可以举个例子么?

迷茫迷茫2809 天前782

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-17 15:37:49

    通常

    const c = 10;
    a = c;

    编译器直接编译成

    mov [a],10

    而不是

    mov AX,[c]
    mov [a],AX

    回复
    0
  • PHPz

    PHPz2017-04-17 15:37:49

    因为const 修饰只读量,在定义的时候必须赋初值,而这个初值通常是一个字面量,编译器会把这个字面量放到只读数据段,所以该变量在编译阶段无需存储空间,只需要在符号表里记一下就可以了

    回复
    0
  • 取消回复