北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司公司由海外留學人员和国内IT人士创建。
(1) 编译器处理方式不同
define const宏是在预处理阶段展开
const常量是编译运行阶段使用。
(2) 类型和安全检查不同
define const宏没有类型不做任何类型检查,仅仅是展开
const常量有具体的类型,在编译阶段会执行类型检查
define const宏仅仅是展开,有多少地方使用就展开多少次,不会分配内存
const常量会在内存中分配(可以是堆中也可以是栈中)。
(4)const 可以节省空间避免不必要的内存分配。 例如:
先说说constconst是写给我们看的。比如#define const PI 3.14 编译的时候程序已经不存在PI,就是编译的时候已经将所有的PI替换成为3.14.
const的话就是有数据类型,发生错误的概率比较小
你对这个回答的评價是