const 修饰符

1. 命名常量

      使用 const 修饰符声明的变量通常称为“ 已声明常量 ”, 其通常全部大写,这已经是一项约定俗成的标准了。

      例如:const double PI = 3.1415;

2. 参数修饰符

      const修饰的函数形参,表明该形参不能在函数体内更改,称为常量形参。参数修饰符const适用于任何类型的参数,但是它通常用于修饰数组参数和类的传引用调用参数。既然是数组参数和传引用调用参数了又何必用const修饰呢?这两者之间岂不是矛盾了??

      从效率上说,“ 传引用调用 ” 参数要优于 ‘ 传值调用 “ 参数。传值调用参数是一个局部变量,它被初始化成为它的实参值,所以在调用函数时,就会存在参数值的两个副本。使用传引用调用参数,形参只是一个占位符,它会被实参值取代,所以只存在参数值的一个副本。对于简单数据类型( int, char, double等 )的参数,这种效率上的差异可忽略不计。但是对于类参数来说,两者在效率上的区别有时就非常明显了,必须重视。因此,对于一个类来说,有必要使用一个传引用调用参数,即使函数不会对参数进行更改。如果使用的是一个传引用调用参数,且函数不应该更改参数的值,就要为参数做上 “ 常量参数 ” 的标记——在参数类型前添加修饰符 const。因此,对于数据量大的类参数,为了提高效率我们通常使用传引用调用参数,若这个参数不能在函数体内改变,就应该用const修饰符标注它;同理对于行为与传引用调用参数极为相似的数组参数,为了避免其在函数体内被改变,我们也应该用 const 修饰它。(注:关于数组作为函数参数的说明请见:http://blog.csdn.net/huahuaxia/article/details/7873298

3. 修饰成员函数

      一个对象是很有可能被其调用的成员函数更改的。若成员函数不应该更改调用对象,就要用 const 修饰符来标记这个函数。修饰符 const 要求同时用于函数声明和函数定义中,其位置在函数头的后面,用空格将其与函数头隔开。例如:

class A_Class

{

public:

void print() const;

...

};

void A_Class :: print() const

{

...

}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值