1.const与define的区别:
const修饰的只读变量具有特定的类型。
define非关键字,只是简单的字符替换,无类型可言。
2.const修饰指针,变量
const int i /int const i ‘近水楼台先得月’ 变量i不能赋其他值,
const int *p 变量*p对象不能改变,
int * const p 指针p不能指向其他地址。
const int *const p, *p不能被赋其他值,p不能指向其他地址。
3.const 修饰返回值的时候
如 const int & func();
返回的对象不能更改
4const 修饰函数参数的时候
如 int func(const int i)
函数体内不能对参数i进行修改。
5.const *p与 *p:
如 const char *p1;
char *p2;
char c='c';
(1)p1=&c; (2)p2=&c;
p2=p1; p1=p2;
编译出错,类型不匹配,但是可强转 编译通过,说明const更高级