共享数据的保护 利用const
来源:互联网 发布:app数据接口怎么写 编辑:程序博客网 时间:2024/04/30 07:10
常对象:它的数据成员在整个的对象的生存期内不能改变。常对象必须进行初始化,而且不能被被新。
声明 常对象的语法形式为:
const 类型说明符 对象名;
用const 修饰的类成员
1.常成员函数
类型说明符 函数名(参数表)const;
void print();
void print() const;
以上两个是对print()函数的重载。
注:
(1)const 是函数类型的一个组成部分,因此在函数定义部分也要带const关键字
(2)常对象只能调用常成员函数
(3)常成员函数不能改变目的对象的数据成员的值
#include<iostream>
using namespace std;
class A{
int i;
public:
A(int x):i(x){}
void print() const;
};
void A::print() const {
i+=1; //删去此语句,程序将能运行成功
cout<<"i="<<i<<endl;
}
int main()
{
A a(2);
a.print(); //在调用常成员函数时,暂时将此对象视为常对象!!! a对象调用的
return 0;
}
以上程序运行错误,错误为在为常成员函数定义时,改变了对象a的数据成员i的值
2.常数据 比较 const int i;static const int q; static int w ;
const int i;需要通过初始化列表来获得初值,此值直到程序结束之前,不能对它进行更新
static int w;可以直接赋值 利用 类型说明符 类名::w=? 来赋值,可以对它进行更新,但不会产生副本
static const int q;可以直接利用 const int 类名::q=?来赋值,不可以对它进行更新,也不会产生副本
3.常引用 形参变为常引用 ,引用的对象的数据不能被更新
例子:
class A
func(const A & a) a中的数据成员不能改变,不能调用此函数的非const成员函数
- 共享数据的保护 利用const
- const 数据共享与保护
- 共享数据的保护
- C++ 数据的保护(const)
- 数据的共享与保护
- 数据的共享与保护
- 数据的共享与保护
- const保护初始数据
- C++:数据的共享与保护
- C++数据的共享与保护
- c++笔记--共享数据的保护
- C++ [ 共享数据保护 ]
- 保护共享数据
- 数据共享与保护
- C++中const保护数据的学习笔记
- C++数据共享与保护
- C++并发实战10:保护共享数据的可选机制
- C++入门笔记(三)数据的共享与保护
- 利用git从github上拉取项目
- FineReport图表开发[入门]之饼图
- 阿里招聘前端笔试题小结
- Django 缓存
- java静态代理和动态代理(jdk,cglib)
- 共享数据的保护 利用const
- Duilib学习之仿酷狗开发(3)
- 【第三方Jar包】poi简介
- kafka一些常用命令(持续更新)
- setTimeout的原理及在JavaScript线程执行队列中的位置
- PHP的编译安装
- 第3章 启程——Windows编程基础(下)
- QT界面,鼠标滚轮实现缩放问题
- ASCII