const简单总结

常变量: const 类型说明符 变量名

常引用: const 类型说明符 &引用名

常对象: 类名 const 对象名

常成员函数: 类名::fun(形参) const

常指针: const 类型说明符* 指针名 (常量指针),类型说明符* const 指针名(指针常量)

首先提示的是:在常变量(const 类型说明符 变量名)、常引用(const 类型说明符 &引用名)、常对象(类名 const 对象名)、 常数组(类型说明符 const 数组名[大小]), const” 与 “类型说明符”或“类名”(其实类名是一种自定义的类型说明符) 的位置可以互换。

常变量:取代了C中的宏定义,声明时必须进行初始化(!c++类中则不然)。const限制了常量的使用方式(只能读不能写)。

常引用:在使用引用传参时,确保了函数内部不对其进行修改。

常对象:常对象一般也只能调用常成员函数。

常成员函数:能被常对象和非常对象调用,函数内部传参时tihs指针的类型是const 类型*。

常指针:const 类型说明符* 指针名(不能通过指针来修改它所指向的内容)
类型说明符* const 指针名(不能修改指针所指向的位置,即不能修改指针本身)

在常对象和常成员函数之间的关系中:
const的作用:为了使函数的意义更加明确,可以在不修改对象的函数原型中加上const。这样不仅增加了可读性,也限制了const修饰的函数不能在其内部修改对象,否则编译器会编译错误。
非常成员函数不能被常对象调用的原因是非常成员函数可能会造成对象的修改。
构造函数和析构函数对这个规则除外,不管是否是常对象,都会自动调用这两个函数。

发布了35 篇原创文章 · 获赞 13 · 访问量 2113

猜你喜欢

转载自blog.csdn.net/weixin_42458272/article/details/100581787