const:只读属性,编译器会进行安全检查,#defiine没有数据类型检查.
靠投机取巧改变const行不通,但是我们可以增加关键字volatile来改变值.
int * const a 常指针 修饰指针本身,指针本身是常量
const int* a; 内容是常量 指针指向内容是常量.
三:修饰参数传递和函数返回值 返回只读
参数传递:临时对象构造析构.
四:const修饰类成员函数 表示不会对成员变量或者被调用对象的入参值进行修改. 所以 如果我们不想去修改
调用对象的值,应声明为const成员函数, 且不能与static函数一起用.
const没有的话不行哦 编译不过去 编译器会人为函数会去改变对象的值. 所以我尽量把不需要改变对象内容的函数都作为const成员函数. 可以用mutable进行修饰 这样的话就可以修改这个成员变量啦.但是const最好还是给我一只加着.
网友评论