首页 > 编程笔记

C++ array容器的使用

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

array 容器的存储结构如图 1 所示。

图1 array容器的存储结构
图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(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

示例分析:
由运行结果可知,容器 c 和容器 c1 交换成功,并且使用迭代器 pos 成功遍历了容器 c。

优秀文章