码迷,mamicode.com
首页 > 编程语言 > 详细

C++const成员规则

时间:2015-06-10 15:43:56      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

越来越讨厌C++了,一个简单的const成员变量都搞得这么麻烦。

概念:const成员变量、const成员函数、const类变量

  • const成员变量是初始化后就不能再改变的。在整个过程中都始终如一。素以不允许有赋值操作。
  • const成员函数是保证不会修改成员变量的成员函数。
  • const类变量是指声明一个类变量时使用了const,比如const A a;

意义:

const成员变量保证一个变量的值永远不变。
const成员函数保证永远不会改变类的状态。(永远不会修改变量的值)


规则:

规则一:

const成员变量只能在构造函数的初始化列表中初始化,不能在构造函数体内赋值。否则会产生只读数据的写错误。

规则二:

const成员变量不能出现任何赋值操作。

规则三:

非const成员函数和const成员函数都可以读访问非const类变量的const或非const成员变量。

规则四:

非const成员函数不可以访问const类变量的任意成员变量。只有const成员函数可以。

规则五:

const成员函数中不允许有任何对成员变量的赋值操作。(保证其不会修改成员变量值)

规则六:

const成员函数不能调用非const成员函数。(还是为了保证不会修改成员变量值,天知道你调用的非const成员函数会干什么)


价值观:(这些能帮助你理解记忆)

const变量:我是永恒的,任何赋值操作都是对我的侮辱。(规则一二)

const成员函数:所谓瓜田不纳履,李下不整冠,我懂得避嫌(规则五);而且我任人唯信,那些没有const认证的家伙有好有坏,我不能信任它们。我知道它们中间可能有好人,但得排除风险不是吗?(规则六)  

const类变量:我出生时就打上了const的高贵印记,我只能做出高尚的行为。(规则四)



实现原理:待续。。。

C++const成员规则

标签:

原文地址:http://blog.csdn.net/candcplusplus/article/details/46441359

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!