Item 3:尽可能使用const【effective C++读书笔记】
来源:互联网 发布:欧美衣服淘宝 编辑:程序博客网 时间:2024/05/17 07:02
const出现在星号左边,表示被指物是常量;出现在星号右边,表示指针自身是常量。
const显式地表明哪些部分是不应修改的,增强了代码的可读性,同时也让编译器在检测到非法的修改操作时及时报错。
const某些情况下可以避免将“==”写成“=”的错误
另外,const成员函数可以操作const对象(const对象只能调用const成员函数而不能调用非const成员函数,非const对象可以调用const成员函数和非const成员函数)
两个成员函数如果只是常量性不同,可以被重载,如下:
①void func()const{}以及 void func(){}是不一样的,前者不允许修改成员数据,对操作符重载也是同理
如果是引用传递的函数参数常量性不同,那么可以被重载,如下:
②void func(constint &a){} 以及 void func(int &a){}也是不一样的
而如果是值传递的函数参数常量性不同,则不可被重载(个人理解是const用于保护这个参数不被修改,但由于值传递的方式函数并不会修改传入参数,所以没有必要加const)
③void func(constint a){} 以及 void func(int a){}
//在一个类中尝试定义这两个成员函数,报错信息为重复定义
mutable可以解除const的限制,使得带有mutable的成员变量即使在const成员函数中也可以被修改,如下:
class A{
public:
int func() const; //const成员函数
private:
mutable int a;
int b;
};
int func() const
{
a = 5; //可以修改
b = 5; //不可以修改
}
当const和非const成员函数有着实质等价的实现时,可以令非const成员函数调用const成员函数,避免代码重复。
- Item 3:尽可能使用const【effective C++读书笔记】
- Effective C++----3rd Edition, Item 3:尽可能使用const
- Effective C++ Item 3 尽可能使用const
- 读书笔记《Effective C++》条款03:尽可能使用const
- Effective C++ Item 03-尽可能使用const
- Effective C++ 读书笔记-----尽可能使用const
- Effective C++读书笔记---尽可能使用const
- Effective C++读书笔记之尽可能使用const
- Effective C++——》条款3:尽可能使用const .
- effective c++:条款21: 尽可能使用const
- 【Effective C++】条款03-尽可能使用const
- Effective C++:条款03:尽可能使用const
- [Effective C++]条款03:尽可能使用const
- Effective C++——尽可能使用const
- Effective C++--条款03:尽可能使用const
- Effective C++读书笔记之三:尽可能使用const
- Effective C++ 读书笔记 条款03:尽可能使用const
- Effective C++读书笔记 条款03:尽可能使用const
- Java程序员不可不知的几个网站,你去过几个?
- update通用生成SQL语句方法
- 初次尝试Maven+logj2.xml 配置
- 关于浏览器的请求数据到达后台乱码问题
- 练习(6)
- Item 3:尽可能使用const【effective C++读书笔记】
- java_01.1
- ligerUI框架怎样调节文本框下拉框宽度高度等属性
- 称雄中国政务云?那一定是个“狠角色”
- 散装食品的经营之道,从哪方面入手?
- angular编译出错解决办法Angular Compiler was detected but it was an instance of the wrong class.
- 欢迎使用CSDN-markdown编辑器
- 网易2017春招编程题:分饼干 [python]
- JS设置和读取Cookie的函数