共享数据的保护 const

摘要:C++中 虽然采用了很多措施(private)来增加数据的安全性,但是有些数据却是共享的,人们可以通过不同的途径访问同一数据对象,这种共享在不同程度上破坏了数据的安全性。为此引入常类型,既保证了数据共享,又防止数据被破坏!

  常类型时指用const说明的类型,常类型的变量或者对象成员的值在程序运行的过程中使不允许修改的。

  1.常引用:const 类型& 引用名

     常用来做函数形参,即前面提到的只读不写!

  2.常对象:const 类名 对象名(参数表);

     被说明的对象为常对象,在对象的整个生存期内,对象的数据成员值不允许改变

  3.常对象成员:

    (1).常数据成员:可以使常量或者常引用。

      注意:如果使用const说明数据成员为常数据成员,那么有且只能在构造函数中只能通过初始化列表对该数据成员进行初始化!(重要!)

    (2).常成员函数:类型  函数名(参数表)  const;

      注意:声明和定义常成员函数的时候都要加const,但在调用的时候不必加const

      1.如果一个对象被说明为常对象,则通过该对象只能调用它的常成员函数,而不能调用其他成员函数,也就是说,常成员函数是常对象对外的唯一接

         口!

      2.常成员函数不能更新对象的数据成员,也不能调用该类的普通成员函数,这就保证了常成员函数不能更新数据成员的值!

总结:由于数据共享在对象使用中几乎都要用到,所以深入理解const的机制各种常类型,十分有必要!

posted @ 2014-12-14 19:51  mt.luo  阅读(259)  评论(0编辑  收藏  举报