C++ 库 - <array>



介绍

数组是固定大小的顺序容器。容器是保存相同类型数据的对象。顺序容器严格按照线性顺序存储元素。

容器类使用隐式构造函数静态分配所需的内存。内存是在编译时分配的,因此数组大小在运行时不能缩小或扩展。数组中的所有元素都位于连续的内存位置。

定义

以下是 <array> 头文件中 std::array 的定义。

template < class T, size_t N >
class array;

参数

  • T − 包含的元素的类型。

    T 可以被任何其他数据类型替换,包括用户定义的类型。

  • N − 数组的大小。

    零大小的数组也是有效的。在这种情况下,array.begin() 和 array.end() 指向相同的位置。但是调用 front() 或 back() 的行为是未定义的。

成员类型

以下成员类型可以用作成员函数的参数或返回类型。

序号 成员类型 定义
1 value_type T(模板的第一个参数)
2 reference value_type&
3 const_reference const value_type&
4 pointer value_type*
5 const_pointer const value_type*
6 iterator 指向 value_type 的随机访问迭代器
7 const_iterator 指向 const value_type 的随机访问迭代器
8 reverse_iterator std::reverse_iterator <iterator>
9 const_reverse_iterator std::reverse_iterator <const_iterator>
10 size_type size_t
11 difference_type ptrdiff_t

来自 <array> 的函数

以下是 <array> 头文件中所有方法的列表。

成员函数

序号 方法和描述
1 array::at

返回对给定数组容器中位置 N 处的元素的引用。

2 array::back

返回对数组容器中最后一个元素的引用。

3 array::begin

返回一个指向数组开头的迭代器。

4 array::cbegin

返回一个指向数组开头的常量迭代器。

5 array::cend

返回一个指向数组末尾元素之后的常量迭代器。

6 array::crbegin

返回一个指向数组最后一个元素的常量反向迭代器。

7 array::crend

返回一个指向末尾之后的常量反向迭代器。

8 array::data

返回一个指向数组容器第一个元素的指针。

9 array::empty

测试数组的大小是否为零。

10 array::end

返回一个指向数组末尾元素之后的迭代器。

11 array::fill

将给定值设置为数组的所有元素。

12 array::front

返回对数组容器中第一个元素的引用。

13 array::max_size

返回数组容器可以容纳的最大元素数。

14 array::operator[]

返回对给定数组容器中位置 N 处的元素的引用。

15 array::rbegin

返回一个指向数组最后一个元素的反向迭代器。

16 array::rend

返回一个指向数组理论上第一个元素之前的反向迭代器。

17 array::size

返回数组中存在的元素数。

18 array::swap

交换两个数组的内容。

非成员重载函数

序号 方法和描述
1 get(array)

返回对数组容器中第 I 个元素的引用。

2 bool operator==

测试两个容器是否相同。

3 bool operator!=

测试两个容器是否相同。

4 bool operator<

测试第一个数组容器是否小于第二个容器。

5 bool operator<=

测试第一个数组容器是否小于或等于第二个容器。

6 bool operator>

测试第一个数组容器是否大于第二个容器。

7 bool operator>=

测试第一个数组容器是否大于或等于第二个容器。

非成员特化函数

序号 方法和描述
1 tuple_element(array)

使用类似元组的接口提供对数组元素类型的编译时索引访问。

2 tuple_size(array)

返回容器中存在的元素总数。

广告
© . All rights reserved.