c++公用数据的保护
来源:互联网 发布:有没有连环画软件 编辑:程序博客网 时间:2024/05/01 17:33
c++虽然采取了不少有效的措施(设private保护)以增加数据的安全性,但是有些数据却往往是共享的,如实参与形参,变量与引用,数据及其指针等,人们可以在不同的场合通过不同的途径访问同一个数据对象。有时在无意之中的误操作会改变有关数据的状况,而这是人们所不希望出现的。既要使得数据能在一定范围内共享,又要保证它不被任意修改,这时可以使用const,即把有关的数据定义为常量。——引自《c++程序设计,谭浩强》
1、常对象(为了防止成员函数修改常对象中数据成员的值)
类名 const 对象名[(实参列表)] 或 const 类名 对象名[(实参列表)]
a. 定义常对象时,必须对数据成员进行赋值,如 const Time t(12,13,35);
b. 常对象不能调用非const型的成员函数(除了由系统自动调用的隐式的构造函数和析构函数);
c. 常对象只有调用const型成员函数才能访问数据成员,但此时仍然不能修改常对象中数据成员的值,如需修改将数据成员声明为mutable;
2、常数据成员
a. 只能通过参数初始化列表对常数据成员进行初始化
3、常成员函数
4、指向对象的常指针
类名 * const 指针变量名=对象地址,它在定义时就必须对其初始化, 如Time * const p=&t; const在 * 号的右边,值可变,指针所指对象不可变。
p=&tt; //不合法,指针所指对象不可变4
(*p).hour=12; //合法,值可变
5、指向常对象的指针变量
const 类名 * 指针变量名 const在 * 号的左边,值不可变,指针所指对象可变。
char c='a';
const char *p;
p=&c; //合法,p指针所指对象可以改变
*p=‘b’; //不合法,*p值不能改变
- c++公用数据的保护
- c++公用数据的保护
- C++:数据的共享与保护
- C++----共用数据保护
- C++ 公用、私有和受保护的继承
- C++ 公用、私有和受保护的继承
- c/c++面向对象编程之共用数据的保护
- asp.net2005(c#) Treeview的公用方法
- 共享数据的保护
- 共用数据的保护
- 数据保护的方法
- 数据的保护
- 数据的保护
- C/C++,常对象 - 保护共享数据
- c++ primer 学习之---------公用、私有和受保护的继承
- 保护隐私 彻底搞掂资源管理器公用文件夹
- 数据执行保护的奥秘
- 不同数据保护的方法
- Ubuntu 14.04中安装Java
- Error when loading the SDK:发现了以元素 'd:skin' 开头的无效内容
- 菜鸟学排序算法
- 分享:15个有趣的大数据经济指数
- #306 (div.2) D. Regular Bridge
- c++公用数据的保护
- hdu5233 Gunner II
- CF 549D. Haar Features(神奇,不知道怎么推出来的)
- quick-cocos2d-x如何在mac下编译安卓版本
- 第七章
- 使用Unversial-image-loader来异步加载网络图片和本地图片(二)完结篇
- 点击按钮切换图片
- 关于mexfuntion超级好的输入输出总结
- 第3题