C++ 教程

C++ 教程 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学运算 C++ 布尔值 C++ 条件语句 C++ Switch 语句 C++ While 循环 C++ For 循环 C++ Break/Continue 语句 C++ 数组 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载

C++ 面向对象

C++ OOP C++ 类和对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态

C++ 高级教程

C++ 文件 C++ 异常处理 C++ 动态内存 C++ 命名空间 C++ 模板 C++ 预处理器 C++ 信号处理 C++ 多线程 C++ Web 编程 C++ 正则表达式

C++ 如何使用

C++ 两个数字相加

C++ 标准库参考

C++ 标准库 - 简介 C++ 标准库 - <fstream> C++ 标准库 - <iomanip> C++ 标准库 - <ios> C++ 标准库 - <iosfwd> C++ 标准库 - <iostream> C++ 标准库 - <istream> C++ 标准库 - <ostream> C++ 标准库 - <sstream> C++ 标准库 - <streambuf> C++ 标准库 - <atomic> C++ 标准库 - <complex> C++ 标准库 - <exception> C++ 标准库 - <functional> C++ 标准库 - <limits> C++ 标准库 - <locale> C++ 标准库 - <memory> C++ 标准库 - <new> C++ 标准库 - <numeric> C++ 标准库 - <regex> C++ 标准库 - <stdexcept> C++ 标准库 - <string> C++ 标准库 - <thread> C++ 标准库 - <tuple> C++ 标准库 - <typeinfo> C++ 标准库 - <utility> C++ 标准库 - <valarray>

C++ 模板库参考

C++ STL 库 - <array> C++ STL 库 - <bitset> C++ STL 库 - <deque> C++ STL 库 - <forward_list> C++ STL 库 - <list> C++ STL 库 - <map> C++ STL 库 - <queue> C++ STL 库 - <set> C++ STL 库 - <stack> C++ STL 库 - <unordered_map> C++ STL 库 - <unordered_set> C++ STL 库 - <vector> C++ STL 库 - <algorithm> C++ STL 库 - <iterator>

C++ 实例

C++ 实例 C++ 练习 C++ 测验



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 (First parameter of the template)
2 reference value_type&
3 const_reference const value_type&
4 pointer value_type*
5 const_pointer const value_type*
6 iterator a random access iterator to value_type
7 const_iterator a random access iterator to 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)

返回对数组容器的第 Ith 元素的引用。

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)

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