标签:
规则一:
const成员变量只能在构造函数的初始化列表中初始化,不能在构造函数体内赋值。否则会产生只读数据的写错误。
规则二:
const成员变量不能出现任何赋值操作。
规则三:
非const成员函数和const成员函数都可以读访问非const类变量的const或非const成员变量。
规则四:
非const成员函数不可以访问const类变量的任意成员变量。只有const成员函数可以。
规则五:
const成员函数中不允许有任何对成员变量的赋值操作。(保证其不会修改成员变量值)
规则六:
const成员函数不能调用非const成员函数。(还是为了保证不会修改成员变量值,天知道你调用的非const成员函数会干什么)
const变量:我是永恒的,任何赋值操作都是对我的侮辱。(规则一二)
const成员函数:所谓瓜田不纳履,李下不整冠,我懂得避嫌(规则五);而且我任人唯信,那些没有const认证的家伙有好有坏,我不能信任它们。我知道它们中间可能有好人,但得排除风险不是吗?(规则六)
const类变量:我出生时就打上了const的高贵印记,我只能做出高尚的行为。(规则四)
实现原理:待续。。。
标签:
原文地址:http://blog.csdn.net/candcplusplus/article/details/46441359