iterator 的一些特殊用法本文章基于 VS2019 创作。
std::iterator 这是一个基类模板,可用于从其派生迭代器类。它不是迭代器类,并且不提供迭代器应具有的任何功能。
该基类仅提供了一些构件类型,这实际上是不存在于任何迭代器类型(迭代器类型没有具体的构件的要求)所需的,但由于它们限定所需默认成员,他们可能是有用的,iterator_traits 类模板自动生成适当的实例(并且这样的实例化是必需适用于所有的迭代器类型)。
std::iterator 被定义为:
12345678template <class Category, class T, class Dis...
数据库系统三级模式 - 两级映射
数据库设计过程
E-R模型
椭圆表示属性
矩形表示实体
菱形表示联系
集成的方法:
多个局部 E-R 图一次集成。
逐步集成,用累加的方式一次集成两个局部 E-R 。
集成产生的冲突及解决办法:
属性冲突:包括属性域冲突和属性取值冲突。
命名冲突:包括同名异义和异名同义。
结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。
一个实体型转换为一个关系模式
1: 1 联系至少转换为 2 个关系模式(有2个实体型,转换为 2 个关系模式)
1: n 联系至少转换为 2...
操作系统基本原理概述
管理系统的硬件、软件、数据资源
控制程序运行
人机之间的接口
应用软件与硬件之间的接口
进程管理
存储管理
文件管理
作业管理
设备管理
进程管理进程的状态
前趋图
进程的同步与互斥
PV操作临界资源:进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等临界区:每个进程中访问临界资源的那段代码称为临界区信号量:是一种特殊的变量
P(Sn) 指的就是每当有一个人进入就对信号量进行 P 操作(-)V(Sn) 就是指购书成功离开书店进行V操作首先我先猜测一下付款的流程,就是先排队,再付款,因为收银员只有一人,一次只能接一单,所以得先排队,再付款,排队其实就...
计算机组成与体系结构数据的表示R进制转十进制使用按权展开法其具体操作方式为:将 R 进制数的每一位数值用 Rk 形式表示,即幂的底数是 R,指数为 k ,k 与该位和小数点之间的距离有关。当该位位于小数点左边,k 值是该位和小数点之间数码的个数,而当该位位于小数点右边,k 值是负值,其绝对值是该位和小数点之间数码的个数加 1 。
例如:二进制 10100.01 =1 x 24 + 1 x 22 + 1 x 2-2例如:七进制 604.01= 6 x 72 + 4 x 70 + 1 x 7-2
十进制转R进制使用短除法将 42 转换为二进制数。
二进制转八进制与十六进制数
原码原码就是...
list 与 forward_list 中的一些特殊方法list 与 forward_list 有一些其他序列容器没有的函数。
list 中的 splice 约等于 splice_after,使用方式一模一样,只是拼接的位置位于第一参数之后。
函数名
函数作用
splice
将元素从 list 拼接到 list
remove
删除具有特定值的元素
remove_if
删除满足条件的元素
unique
删除重复值
merge
合并排序列表
sort
对容器中的元素进行排序
reverse
颠倒元素的顺序
splice示例:123456789101...
序列容器中的 erase 方法本文章基于 VS2019 创作。
erase 函数的作用:移除单个元素或元素范围。
序列容器包括
array
vector
deque
list
forward_list
其中 array 与 forward_list 没有 erase 函数,但 forward_list 有 erase_after 函数。
vector、deque、list 中 erase 函数的使用方式都一样,下面以 list 为例,写出示例。
list 示例第 1 种方法:12345678iterator erase(const const_iterator _Where) noe...
序列容器中的 assign 方法本文章基于 VS2019 创作。
assign 函数的作用:将内容重新分配给容器,替换其当前内容,并相应的修改容器的大小。
序列容器包括
array
vector
deque
list
forward_list
其中 array 没有 assign 函数。
vector、deque、list 、forward_list 中 assign 函数的使用方式都一样,下面以 vector 为例,写出示例。
示例第 1 种方法:12345678910111213141516171819202122232425void assign(_CRT_GUARDOVERF...
序列容器中的 insert 方法本文章基于 VS2019 创作。
insert 函数的作用:在指定迭代器之前插入新元素。
序列容器包括
array
vector
deque
list
forward_list
其中 array 与 forward_list 没有 insert 函数,但 forward_list 有 insert_after 函数。
vector、deque、list 中 insert 函数的使用方式都一样,下面以 list 为例,写出示例。
list 示例第 1 种方法:123456iterator insert(const_iterator _Where, con...
耦合与内聚的分类耦合:指的是程序结构中各个模块之间相互关联的度量。
内聚:指的是一个模块内部各成分之间相关联程度的度量。
在软件系统的划分模块时,应尽量做到高内聚,低耦合,提高模块的独立性。
耦合的分类耦合可以分为以下七种类型,耦合性由高到底分别是:
内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部。
公共耦合:指一组模块访问一个公共数据环境,如全局数据结构。
外部耦合:指一组模块访问一个公共变量,这里指基本数据类型而不是数据结构(或者说对象)。
控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值选择执行模块内某一功能。...
安全攻击加密技术的攻击意味着某些匿名用户未经我们许可,即可访问我们的数据或发送的消息或任何类型的信息。 攻击只是意味着未经用户许可就更改,破坏,植入或泄露用户的数据。 发生这种情况是因为安全系统中存在一些缺陷。
主动攻击假定已连接两台计算机或任何通信设备,并且它们彼此之间正在传输数据。 在主动攻击中,攻击者不仅观察数据,而且可以直接访问数据。 攻击者可以在没有任何用户信息的情况下读取和更新数据。 在主动攻击中,攻击者尝试在数据传输中引入噪声。 攻击者尝试在传输中放入错误位。 攻击者试图更改或修改数据。 换句话说,被第三客户端非法修改的数据被称为主动攻击。主动攻击包括拒绝服务攻击(DoS...