【答疑解惑】define和const区别

在c/c++程序中我们经常使用到它们,由于使用比较频繁,我们就来做一下对比它们各自的作用。从以下几个方面来说明

1、编译器处理方式不同

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

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

2、类型和安全检查不同

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

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

3、存储方式不同

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

  const常量会在内存中分配。

const 可以节省空间,提高执行效率,避免不必要的内存分配。

const 修饰函数的返回值、修饰类的成员函数(任何不需要修改数据成员的函数都应该使用const修饰)。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区