lightblueme

许多问题需要说清楚就可以&&走永远比跑来的重要

导航

理解-const

c++ 中const和c中define的区别

(1) 编译器处理方式不同

define宏是在预处理阶段展开。

const常量是编译运行阶段使用。

(2) 类型和安全检查不同

define宏没有类型,不做任何类型检查,仅仅是展开。

const常量有具体的类型,在编译阶段会执行类型检查。

(3) 存储方式不同

define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。

const常量会在内存中分配(可以是堆中也可以是栈中)。

再续......

posted on 2015-05-09 22:16  lightblueme  阅读(171)  评论(0编辑  收藏  举报