Effective c++——条款03:尽可能使用const

const成员函数意味着什么呢?一种观点认为意味着bitwise constness(又称physical constness),即const成员函数不能改变对象的任何数据成员(static除外)。作者给出了一个例子反驳了这种观点——一个const成员函数实现时没有改变任何对象的数据成员,看起来像是bitwise constness,但是当它返回指针时,可以利用指针改变对象的数据成员。

另一种观点是logical constness,即允许const成员函数修改数据成员,而不是禁止修改任何数据成员,方式是加mutable或者用const_cast。

posted @ 2014-03-22 12:59  helloweworld  阅读(177)  评论(0编辑  收藏  举报