C++编程思想笔记(0110)。。。

1.一个类里, c o n s t恢复它在C中的一部分意思。它在每个类对象里分配存储并代表一个值,这个值一旦被初始化以后就不能改变。在一个类里使用c o n s t的意思是“在这个对象寿命期内,这是一个常量”。然而,对这个常量来讲,每个不同的对象可以含一个不同的值。这样,在一个类里建立一个c o n s t时,不能给它初值。这个初始化工作必须发生在构造函数里,并且,要在构造函数的某个特别的地方。因为c o n s t必须在建立它的地方被初始化,所以在构造函数的主体里, c o n s t必须已初始化了,否则,就只有等待,直到在构造函数主体以后的某个地方给它初始化,这意味着过一会儿才给c o n s t初始化。当然,无法防止在在构造函数主体的不同地方改变c o n s t的值。

 

2.构造函数初始化表达式表—--顾名思义,是出现在构造函数的定义里的—--是一个出现在函数参数表和冒号后,但在构造函数主体开头的花括号前的“函数调用表”。这提醒人们,表里的初始化发生在构造函数的任何代码执行之前。这是把所有的c o n s t初始化的地方

 

3.在类里的c o n s t意思是“在这个特定对象的寿命期内,而不是对于整个类来说,这个值是不变的( c o n s t)”。


4.使用e n u m是不会占用对象中的存储空间的,枚举常量在编译时被全部求值

 

5.c o n s t放在函数声明前意味着返回值是常量,但这不合语法。必须把c o n s t标识符放在参数表后。


6.构造函数和析构函数都不是c o n s t成员函数,因为它们在初始化和清理时,总是对对象作些修改。q u o t e ( )成员函数也不能是c o n s t函数,因为它在返回说明里修改数据成员l a s t q u o t e。然而L a s t q u o t e ( )没做修改,所以它可以成为c o n s t函数,而且也可以被c o n s t对象c q安全地调用。


7.如果我们想要建立一个c o n s t成员函数,但仍然想在对象里改变某些数据,这时该怎么办呢?这关系到按位c o n s t和按成员c o n s t的区别。按位c o n s t意思是对象中的每个位是固定的,所以对象的每个位映像从不改变。按成员c o n s t意思是,虽然整个对象从概念上讲是不变的,但是某个成员可能有变化。


8.就像建立c o n s t对象一样,程序员也可以建立v o l a t i l e对象,甚至还可以建立const volatile对象,这个对象不能被程序员改变,但可通过外面的工具改变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值