const关键字作用,const和宏定义区别?

【1】作用

  const所修饰的内容是不可变的,比如说:const变量、const成员函数、const参数、const返回值等等,
  const所修饰的内容具有强制保护性;可以防止代码随意改动,提高了代码的鲁棒性。

【2】区别

 1、const常量有数据类型,宏定义常量没有数据类型。编辑器可以对const常量进行类型安全检查,而对宏常量
 进行字符替换没有类型安全检查,并且在替换的时候会产生意想不到的错误。
 2、有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。

【3】用哪一个呢?

用const关键字,因为宏定义太多会导致代码膨胀。

【4】既然c++有更好用的const,为什么还要用宏定义呢?

因为const无法替代宏做为卫哨来防止文件的重复包含。 

你可能感兴趣的:(C++Primer学习笔记)