C++共用数据的保护

来源:互联网 发布:淘宝上的闲鱼在哪打开 编辑:程序博客网 时间:2024/05/21 20:24

C++中往往通过使用const,来使数据在一定范围内共享又不能被随意修改。

C++常对象

1.1常对象的一般形式为:
A.Time const t(1,2,3);
B.const Time t(1,2,3);
1.2常对象的数据成员都是常变量而且必须要有初值。
1.3不能调用常对象的非const型的成员函数,即常成员函数。

C++常数据成员

1.1常数据成员的声明。
const int hour;
1.2只能通过构造函数的参数初始化表来对常数据成员的

C++常成员函数

1.1常成员函数的声明。
void get_time() const; //注意const在右边
1.2常成员函数只能引用本类中数据成员的值,而不能修改。
1.3
数据成员非const成员函数const成员函数非const的数据成员可以引用,也可以改变值可以引用,不可以改变值const数据成员可以引用不可以改变值可以引用,不可以改变值const对象的数据成员不允许引用和改变值可以引用,不可以改变值1.4常成员函数怎么使用?
A.引用const数据成员的值,修改非const数据成员的值
B.如果要求所有的数据成员都不允许改变,可以使对象const,然后用const成员函数进行引用。
C.如果已定义了一个常对象,只能调用其中的const成员函数。

C++指向对象的常指针

1.1将指向对象的指针变量声明为const型,并使之初始化,这样指针值始终保持指向不便。
1.2 Time * const pointer1=&t1;
1.3往往使用常指针作为函数参数以确保其始终指向同一个对象。

C++指向常对象的指针

1.1 const Time *pointer1=&t1;(可以用*来区别指向对象的常指针和指向常对象的指针)
1.2一个常对象只能用指向常对象的指针来指向它,而不能用一般的指针来指向它。
1.3用指针变量作形参时形参与实参的对应关系
形参实参合法否改变指针所指向变量值指向非const型的指针非const变量的地址合法可以指向非const型的指针const变量的地址非法 /指向const型的指针const变量的地址合法不可以指向const型的指针非const变量的地址合法不可以1.4指向常对象的指针最常用于函数的形参,目的在于保护形参指针所指的对象,使他在执行过程中不要改变。


C++对象的常引用

1.1通过常引用可以确保对象的值不会改变。如
void fun(const Time &t);
1.2在c++中,经常使用常指针和常引用作为函数的参数,一则防止值被改变,一则是不必建立拷贝,来提高效率。

C++ const型数据的小结

形式含义Time const t1; 或const Time t1常对象,其值在任何情况下都不能改变void Time::fun() const常成员函数,可以引用但不能改变本类中的数据成员Time * const p指向对象的常指针,p的指向不能改变const Time *p指向常对象的指针,不能改变指向对象里面的值Time &t1=tt1是Time类对象t的引用







2 0
原创粉丝点击