Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89047
  • 博文数量: 26
  • 博客积分: 920
  • 博客等级: 准尉
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-28 10:50
文章分类

全部博文(26)

文章存档

2015年(2)

2011年(1)

2009年(10)

2008年(2)

2007年(1)

2006年(10)

我的朋友

分类: C/C++

2006-06-29 15:22:00

第15条 积极使用const
  const是我们的朋友:不变的值更易于理解、跟踪和分析,所以应该尽可能地使用
常量代替变量,定义值的时候,应该把const作为默认的选项:常量很安全,在编译
时会对其进行检查,而且它与c++的类型系统已浑然一体。不要强制转换const的
类型,除非要调用常量不正确的函数。
  用mutable成员实现逻辑上的不变。当类的const成员函数需要合法地修改成员变量时
(即变量不影响对象的可观察状态时,比如缓存数据),声明该成员变量为mutable的。
请注意,如果用Pimpl惯用法(见第43条)隐藏了所有私有成员,就无需对缓存信息或者
指向它的未改变的指针声明mutable了。
 
示例:
在函数声明中,要避免将通过值传递的函数参数声明为const。一下两个声明是完全等效的:
  void Fun(int x);
  void Fun(const int x); //重新声明同一函数:顶级const将被忽略
第二个声明中, const是多余的。
阅读(821) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~