存储概念
存储概念
描述
存储是一个可变大小的容器,其元素以严格的线性顺序排列。
存储通过一些类似STL序列的功能扩展了STL容器的概念。与然而,序列概念是存储概念不需要默认初始化其元素。
的细化
随机访问容器和默认可构造
关联的类型
除定义的类型外,没有其他类型随机访问容器
符号
X(X) | 存储模型的类型 |
T型 | 的value_typeX(X) |
t吨 | 类型为的对象T型 |
n个 | 对象的类型可转换为十: :size_type |
定义
有效表达式
除了中定义的表达式随机访问容器,和默认可构造以下表达式必须有效:
姓名 | 表达式 | 类型要求 | 返回类型 |
尺寸构造器 |
X(n) |
T是默认可构造 |
X(X) |
填充构造函数 |
X(n,t) |
|
X(X) |
范围构造函数 |
X(i,j) |
我和j个是输入迭代器其值类型可转换为T型 |
X(X) |
调整大小 |
a.调整大小(n,t) |
一是可变的 |
空隙 |
调整大小 |
a.调整大小(n) |
一是可变的 |
空隙 |
表达式语义
姓名 | 表达式 | 前提条件 | 语义学 | 后置条件 |
---|
默认构造函数 |
X()
| |
创建0个元素。 |
大小()==0 |
尺寸-施工人员 |
X(n)
| n> =0 |
创建n个元素。构造元素时没有初始值设定项。那就是如果T是(可能是cv限定的)非POD类类型(或其数组),则对象为默认值已初始化。否则,创建的对象具有不确定的值。看这个句子ISO C++标准第5.3.4节第15段中的“如果省略了新初始值设定项”。 |
大小()==n |
填充构造函数 |
X(n,t)
| n> =0 |
使用的副本创建n个已初始化的元素t吨 |
大小()==n |
范围构造函数 |
X(i,j) |
【i,j)是有效范围。 |
复制范围[i,j)至仓库 |
尺寸()等于距离我到j个。每个元素都是范围中相应元素的副本【i,j). |
调整大小 |
a.调整大小(n,t) |
n<=a.最大尺寸() |
修改容器,使其n个元素。 如果容器的大小发生变化,则可以重新分配容器。保留现有图元值,其他图元是t吨 . |
a.尺寸()==n |
调整大小 |
a.调整大小(n) |
n<=a.最大尺寸() |
修改容器,使其n个元素。 如果容器的大小发生变化,则可以重新分配容器。元素值未初始化。那就是,每个元素值可以是以前为T型 . |
a.尺寸()==n |
复杂性保证
不变式
型号
注意事项
版权所有(©)2000-2002 Joerg Walter,Mathias Koch
使用、修改和分发受Boost软件许可证,版本1.0。(请参阅随附的文件LICENSE_1_0.txt或复制于http://www.boost.org/LICENSE_1_0.txt).