2.数据的共享与保护

1.作用域

  - 函数原型作用域:形参范围

  - 局部作用域

  - 类作用域  x.m、x->m、x::m

  - 命名空间作用域:namespace name{}、name::person p、using namespace name;具有命名空间作用域的变量也叫全局变量

2.可见性规则:

  - 标识符要声明在前,引用在后

  - 在同一作用域中,不能声明同名标识符

  - 在没有互相包含关系的不同作用域声明同名标识符互不影响

  - 若在包含关系的作用域中声明同名标识符,则外层在内层不可见

3.对象生存期

  - 静态生存期:对象的生存期与程序运行期相同,则称其具有静态生存期:static声明或在命名空间声明

  - 动态生存期:除上述两种情况外都是动态生存期,诞生于声明点,结束于声明所在块执行完毕时

4.类的静态成员:解决同一个类不同对象和函数的数据共享问题

  - 静态数据成员:访问方式为   类名::标识符

  - 静态函数成员:主要用来访问同一个类中的静态数据成员,维护对象之间共享的数据

5.类的友元

  友元关系提供了不同类或对象的成员函数之间,类的成员函数与一般函数之间进行数据共享的机制

  - 友元函数:在类中用friend修饰的非成员函数,可以在函数体重通过对象名访问类的私有和保护成员

  - 友元类:若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员

  - 注意:

      * 友元关系不能传递

      * 友元关系单向

      * 友元关系不能被继承

6.共享数据的保护

  - 常对象:其数据成员在对象的整个生存期间不能被改变。必须进行初始化

  - 用const修饰类成员函数:常对象只能调用常成员函数

  - 常数据成员:只能通过初始化列表获得初值

  - 常引用:所引用的对象不能被更新

7.标准C++库:类与组件在逻辑上分为如下6种类型

  - 输入输出类

  - 容器类与ADT(抽象数据类型)

  - 存储管理类

  - 算法

  - 错误处理

  - 运行环境支持

时间: 2024-12-12 17:34:17

2.数据的共享与保护的相关文章

我的C++笔记(数据的共享与保护)

*数据的共享与保护: * 1.作用域: * 作用域是一个标识符在程序正文中有效的区域.C++中标识符的作用域有函数原型作用域.局部作用域(块作用域).类作用域和命名空间作用域. * (1).函数原型作用域: * 函数原型作用域是C++中最小的作用域,在函数原型中一定要包含形参的类型说明.在函数原型声明时形式参数的作用范围就是函数原型的作用域.如:double area(double radius);标识符radius的作用范围就在函数area形参列表的括号之间. * 由于在函数原型的形参列表中起

第5章 数据的共享与保护

主要介绍标识符的作用域.可见性和生存周期的概念,以及类成员的共享与保护问题. 5.1 标识符的作用域与可见性 5.1.1 作用域 作用域是一个标识符在程序正文中有效的区域. 1.函数原型作用域: 在函数原型声明时形参的作用范围就是函数原型作用域,可以省略形参标识符.但考虑程序的可读性,通常还是要在函数原型声明时给出形参标识符. 2.局部作用域: 函数形参列表中形参的作用域,从形参列表中的声明处开始,到整个函数体结束之处为止.函数体内声明的变量,其作用域从声明处开始,一直到声明所在的块结束的 大括

Part5 数据的共享与保护 5.3类的静态成员

静态数据成员: 1 用关键字static声明 2 为该类的所有对象共享,静态数据成员具有静态生存期. 3 必须在类外定义和初始化,用(::)来指明所属的类. //5-4具有静态数据成员的Point类 #include<iostream> using namespace std; class Point{ public: Point(int x = 0, int y = 0):x(x), y(y){ count++;//在构造函数中对count累加,所有对象维护共同一个count } Point

数据的共享与保护

QQ:1783478816根据我多年总结出来的经验,玩好一个彩种只需要学会以下四重奏:心得 分配 技巧 运用 第一:心态问题,如果你是容易上脑请看第二点例子,如果你不懂合理分配请看下面例子.心态请看好下面例子几点: 1.沉迷久du,必输(塞车每天179期,每一期走势都在改变,也许这会这个走势刚好带你赢了点钱,但不代表能够一直赢下去,也许下一秒走势就变了,盈利瞬间化为乌有) 2.心态爆炸,容易上头,必输(心态把控不好,赢了贪得无厌想要接着赢下去,输了不甘服输一定要博个翻本,殊不知越陷越深,直至万丈

数据的备份和保护

柏科数据BCM是采用业界创新框架,集软硬件和存储一体化设计,基于磁盘设计的单一芯片级控制器实现,全面整合操作系统.应用数据.数据库数据的备份和保护于一体设备,内建(Build-In)数据镜像副本.智能快照副本和持续写入保护技术,极大提高了数据保护和业务恢复的效率.通过BCM卓越的文件/数据库/操作系统的实时保护与瞬间恢复:可随时测试.验证.演练的本地高效保护功能整合.最大限度地保护数据的实时性.完整性和一致性,既极大的提升信息化保护水平,又降低企业信息化业务在各种意外故障发生时造成的数据丢失损失

李彦宏:数据技术共享与“圈子联合文化”

[一周要闻]李彦宏:数据的价值在于与各个行业进行结合--数据技术共享与"圈子联合文化" 一年一度的中国(深圳)IT领袖峰会于3月26日至27日在深圳五洲宾馆举行,马云.李彦宏.马化腾企业领袖和投资家共襄盛会.同样备受瞩目的,还有中国圈子联合会创始人李帅,与诸多知名企业家共同探讨中国IT行业未来的创新与发展. 峰会中,百度董事长兼CEO李彦宏从创新谈到做企业的危机感,"如果你天天觉得公司会死,公司反而会越做越大."新兴企业之多,竞争之激烈上述观点,让许多企业家都心有戚

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可或缺的,微软的东西还是做得比较人性化的,从webform到MVC,都做到了双向验证 单单的用js实现的前端验证是极其不安全的,所以本次我们来看看MVC上的自带的注解验证,自定义验证 同样的MVC提供了一系列内置的数据验证注解 不为空验证  [Required(ErrorMessage = "不能为空

云桌面用户数据放到共享存储中是比较常见的方式

云桌面,是把操作系统.应用程序以及用户数据都存放到后端的数据中心.云桌面利用虚拟化技术将PC桌面统一集中存放,并通过网络交付桌面到用户,有效提升部署效率,简化桌面运维工作,解决IT供需矛盾和企业信息安全问题. 云桌面中用户数据主要包括用户的个人存档文件以及部分应用程序的配置及下载文件.既然涉及到存档及下载文件,其存放位置就成为一大问题,对于系统存储性能将产生重大影响.通常,个人数据可以在共享存储或者本地,各自有其优劣势: 把用户数据放到共享存储中是比较常见的方式,通过策略让用户登录云桌面后自动挂

Docker容器间中的数据如何共享?

本文和大家分享的是Docker进阶中容器中的数据管理相关知识,希望可以帮助大家更好的学习Docker,一起来看看吧. 先思考一些场景,如果利用Docker创建了一个N个容器,这些容器之间需要数据共享,此时该怎么办?如果我们想在本机了解容器的运行状态.命令历史等,此时该怎么办? 按照Docker官方文档的说明,容器中的数据管理有两种形式: Manage data in containers 数据卷(Data Volumes) 可以将"数据卷"理解为容器中的一个目录,类似于Linux中mo