促进 C++库

……其中一个世界。 赫伯·萨特安德烈亚历山德雷斯库C类++编码标准

存储概念

存储概念

描述

存储是一个可变大小的容器,其元素以严格的线性顺序排列。

存储通过一些类似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).