宏定义用const代替的时候好处是什么??

heihei1 2002-11-17 10:02:37
宏定义用const代替的时候好处是什么??
宏定义和内联函数的关系???


在线等待
...全文
321 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetBird_China 2002-11-18
  • 打赏
  • 举报
回复
Effctive C++ 条款一。
ddmpqcw 2002-11-18
  • 打赏
  • 举报
回复
使用const可以是变量拥有固定地址,

可以被取地址。
blh 2002-11-18
  • 打赏
  • 举报
回复
可以在编译期间进行类型检测
xufeiyunwindows 2002-11-18
  • 打赏
  • 举报
回复
编译时,对宏做完全替换,而const就用要经过计算后替换

http://kerxinty.126.com
欢迎访问,热诚为您服务
Crystal_arrow 2002-11-17
  • 打赏
  • 举报
回复
const 可以定义类型 而define 不可以

const和内联函数都是直接替换程序里的函数名

const 一般用来定义一个变量而内联函数则是用来定义函数的!
clack234 2002-11-17
  • 打赏
  • 举报
回复
楼上的说的都有道理。如果想知道更多,你看一下"effctive C++"的第一章。那里面讲的请楚。
xueyudulang 2002-11-17
  • 打赏
  • 举报
回复
const常量可以防止程序员无意中修改常量的值
编译器可以对修改const常量的行为提示出错
codeprimer 2002-11-17
  • 打赏
  • 举报
回复
up
再举一个很有意思的例子
#define mynumber 5
const int mynumber=5
待编译后,若出现问题,则对于编译器报错来说,第一个报错的是5,第二个报错的是mynumber
imwj 2002-11-17
  • 打赏
  • 举报
回复
(1) const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。
(2) 有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧