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

浏览:30日期:2023-03-24

问题描述

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

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

问题解答

回答1:

通常

const c = 10;a = c;

编译器直接编译成

mov [a],10

而不是

mov AX,[c]mov [a],AX回答2:

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

相关文章: