C++ array容器的使用
array 是 C++11 标准新增加的容器,它也是一个序列容器,只是 array 的大小是固定的,一旦分配了 array 容器,其大小就不能再改变,不允许向 array 容器插入元素或从 array 容器中删除元素,即 array 容器不支持插入、删除操作。
array 容器的存储结构如图 1 所示。

图1 array容器的存储结构
由图 1 可知,array 容器的存储结构和数组的存储结构一致,但是它比数组更灵活。下面分别讲解 array 容器的常见用法。
fill() 函数和 swap() 函数的调用形式如下所示:
【示例1】下面通过案例演示 array 容器的使用,C++ 代码如下:
由运行结果可知,容器 c 和容器 c1 交换成功,并且使用迭代器 pos 成功遍历了容器 c。
声明:《C++系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
array 容器的存储结构如图 1 所示。

图1 array容器的存储结构
由图 1 可知,array 容器的存储结构和数组的存储结构一致,但是它比数组更灵活。下面分别讲解 array 容器的常见用法。
1) 创建array容器
创建 array 容器的时候需要指定元素类型和元素个数,示例代码如下:array<int,3>a1; //定义大小为3的array容器a1 array<int,3>a2={1,2,3}; //定义array容器a2
2) 修改容器元素
array 提供了 fill() 函数和 swap() 函数用于修改元素。- fill() 函数使用指定的数据填充容器;
- swap() 函数用于交换两个容器的元素。
fill() 函数和 swap() 函数的调用形式如下所示:
fill(val); //使用val填充容器 a1.swap(a2); //交换容器a1和容器a2的元素
【示例1】下面通过案例演示 array 容器的使用,C++ 代码如下:
#include<iostream> #include<array> using namespace std; int main() { array<int,3>c={1,2,3}; //创建array容器c array<int,3>c1={2,3,4}; //创建array容器c1 array<int,3>::iterator pos; //定义iterator迭代器pos c.swap(c1); //交换容器c和容器c1的元素 for(pos=c.begin();pos!=c.end();++pos) //使用迭代器pos遍历容器c中的元素 { cout<<*pos<<" "; } return 0; }运行结果:
2 3 4
示例分析:- 第 6~7 行代码创建了两个 array 容器 c 和 c1;
- 第 8 行代码定义了 array 容器的 iterator 迭代器 pos;
- 第 9 行代码调用 swap() 函数交换容器 c 和容器 c1 的元素;
- 第 10~13 行代码在 for 循环中使用迭代器 pos 遍历容器 c,并输出元素。
由运行结果可知,容器 c 和容器 c1 交换成功,并且使用迭代器 pos 成功遍历了容器 c。
声明:《C++系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。