C++ Reference: Standard C++ Library reference: Containers: array: array
admin
2024-03-23 03:58:48

C++官网参考链接:https://cplusplus.com/reference/array/array/

类模板 

std::array
template < class T, size_t N > class array;
数组类
数组是固定大小的顺序容器:它们按严格的线性顺序保存特定数量的元素。
在内部,数组除了它包含的元素之外不保留任何数据(甚至它的大小,这是一个模板形参,在编译时固定)。就存储大小而言,它与使用该语言的括号语法([])声明的普通数组一样高效。该类只是向其添加了一层成员函数和全局函数,以便将数组用作标准容器。
与其他标准容器不同,数组具有固定的大小,并且不通过分配器管理其元素的分配:它们是封装固定大小的元素数组的聚合类型。因此,它们不能动态地展开或收缩(有关可以展开的类似容器,请参阅vector)。
大小为0的数组是有效的,但不应该解引用它们(成员front、back和data)。
与标准库中的其他容器不同,交换两个数组容器是一种线性操作,涉及分别交换范围中的所有元素,这通常是一种效率相当低的操作。另一方面,这允许两个容器中元素的迭代器保持它们原始的容器关联。
数组容器的另一个独特特性是,它们可以被视为元组(tuple)对象:头文件重载get函数来访问数组的元素,就像它是一个元组(tuple)一样,以及专门化的tuple_size和tuple_element类型。

容器的属性
按顺序排列
顺序容器中的元素按照严格的线性顺序排列。各个元素通过它们在该序列中的位置进行访问。
连续存储
元素存储在连续的内存位置,允许对元素进行恒定时间的随机访问。指向一个元素的指针可以被偏移以访问其他元素。
固定大小的集合
容器使用隐式构造函数和析构函数静态分配所需的空间。它的大小是编译时常数。没有内存或时间开销。

模板形参 
T
所包含元素的类型。
别名为成员类型array::value_type。
N
数组的大小,以元素的数量表示。
在array成员函数的引用中,假定模板形参具有相同的名称。

成员类型
以下别名是array的成员类型。它们被广泛用作成员函数的形参和返回类型:

member typedefinitionnotes
value_typeThe first template parameter (T)
referencevalue_type&
const_referenceconst value_type&
pointervalue_type*
const_pointerconst value_type*
iteratora random access iterator to value_typeconvertible to const_iterator
const_iteratora random access iterator to const value_type
reverse_iteratorreverse_iterator
const_reverse_iteratorreverse_iterator
size_typesize_tunsigned integral type
difference_typeptrdiff_tsigned integral type

成员函数 
迭代器 
begin    Return iterator to beginning (public member function)
end    Return iterator to end (public member function)
rbegin    Return reverse iterator to reverse beginning (public member function)
rend    Return reverse iterator to reverse end (public member function)
cbegin    Return const_iterator to beginning (public member function)
cend    Return const_iterator to end (public member function)
crbegin    Return const_reverse_iterator to reverse beginning (public member function)
crend    Return const_reverse_iterator to reverse end (public member function)

容量 
size    Return size (public member function)
max_size    Return maximum size (public member function)
empty    Test whether array is empty (public member function)

元素访问 
operator[]    Access element (public member function)
at    Access element (public member function)
front    Access first element (public member function)
back    Access last element (public member function)
data    Get pointer to data (public member function)

修改器
fill    Fill array with value (public member function)
swap    Swap content (public member function)

非成员函数重载 
get (array)    Get element (tuple interface) (function template)
relational operators (array)    Relational operators for array (function template)

非成员类特殊化 
tuple_element    Tuple element type for array (class template specialization)
tuple_size    Tuple size traits for array (class template specialization) 

相关内容

热门资讯

17道 特色旺销菜 恰恰茄子 原料: 糯长茄200克,香菜3克。 调料: 秘制茄子酱40克。 制作: 1.将长茄去皮后...
西藏攻略:7天6晚经典路线,带... 每年5月至10月,是西藏的季节,也是游客最多的时段。最近我们收到很多朋友的咨询:“次来西藏,只有7天...