1.与#define的区别:
#define只是用来做文本替换的,没有数据类型,它的生命周期止于编译期,编译之后就被替换成一个常数;
const在堆栈分配了空间,存在于程序的数据段,有数据类型,可以在程序中调用和传递,编译器可以对const常量进行类型安全检查;
2.const的作用:
1).用于定义常量;
2).修饰函数形参,引用传值时防止数值被改变;
3).修饰函数的返回值,返回值不能被直接修改;
4).修饰类的成员函数,任何不会修改数据成员的函数都应用const修饰;