C++关联容器
关联容器支持普通容器操作,不支持,
- 顺序容器位置相关的操作,
push_back
等; - 构造函数或插入操作接受一个元素值和一个数量值得操作。
定义
定义一个map时必须指定关键字类型和值类型,set只需关键字类型。
关联容器支持普通容器操作,不支持,
push_back
等;定义一个map时必须指定关键字类型和值类型,set只需关键字类型。
首先介绍顺序容器操作基本相同的部分,然后分别是每种容器要注意的地方。
C c
默认构造函数C c1(c2)
,C c1 = c2
c1初始化为c2的copy。c1和c2必须是相同的容器类型,且保存相同类型的元素。C c{a, b, c, ...}
,C c = {a, b, c, ...}
列表初始化C c(b, e)
除array外,还有以下两种,
accumulate
的第三个参数类型决定了函数中使用那个加法运算符以及返回值的类型。
注:对于内置类型的变量,如果使用列表初始化且初始化存在丢失信息的风险,则编译器将报错。
|
|
如果定义变量时没有指定初值,则变量被默认初始化,具体值由变量类型决定。对象被默认初始化时自动执行默认构造函数。
iostream
strm::iostate
是机器相关的位类型,用来标识流错误状态,有4个值,strm::badbit
,strm::failbit
,strm::eofbit
和strm::goodbit
。可用ios::bad()
,ios::fail()
,ios::eof()
和ios::good()
来得知各个flag是否置位;用ios::rdstate()
来获取流的当前状态。
一个存储区域,用于保存数据。IO设施通常将输入(或输出)数据保存在一个缓冲区中,读写缓冲区的动作与程序中的动作是无关的。我们可以显式地刷新输出缓冲,以便强制将缓冲区中的数据写入输出设备。默认情况下,读cin会刷新cout;程序非正常终止时也会刷新cout。