Home  >  Q&A  >  body text

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

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

迷茫迷茫2634 days ago646

reply all(2)I'll reply

  • PHP中文网

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

    通常

    const c = 10;
    a = c;

    编译器直接编译成

    mov [a],10

    而不是

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

    reply
    0
  • PHPz

    PHPz2017-04-17 15:37:49

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

    reply
    0
  • Cancelreply