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) 

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...