【1】作用
const所修饰的内容是不可变的,比如说:const变量、const成员函数、const参数、const返回值等等,
const所修饰的内容具有强制保护性;可以防止代码随意改动,提高了代码的鲁棒性。
【2】区别
1、const常量有数据类型,宏定义常量没有数据类型。编辑器可以对const常量进行类型安全检查,而对宏常量
进行字符替换没有类型安全检查,并且在替换的时候会产生意想不到的错误。
2、有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。
【3】用哪一个呢?
用const关键字,因为宏定义太多会导致代码膨胀。
【4】既然c++有更好用的const,为什么还要用宏定义呢?
因为const无法替代宏做为卫哨来防止文件的重复包含。