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) 

相关内容

热门资讯

教师专享福利!北京这些景区免票... 新京报讯 据首都教育消息,教师节将至,北京多家景区为老师们准备了专属免票福利!这份优惠合集已整理好,...
黑茶,喝的是一种境界与健康 在专门用来喝黑茶的茶具“飘逸杯”里,黑茶茶汤看起来并不像“黑茶”这个名字那样黑黢黢的一团。 玻璃器皿...
上海旅游节大巡游花车阵容抢先看... 2026上海旅游节大巡游9月12日外滩启幕,21辆全新主题花车携手21支境内外表演方队联袂登场,邀你...
原创 8... 上周门诊来了位 62 岁的张阿姨,得糖尿病快五年了,平时管嘴特别严,糖果、点心、甜饮料一概不碰,连水...
原创 餐... 2026年9月8日晚,南京浦口区泰冯路29号,墨语江南·阿婆菜餐厅户外帐篷里,灯火温润,其间还天降喜...