C++/STL/Array
< C++
<array> 是b:C++标准程式库中的一个b:头文件,定义了b:C++标准中数组容器的类模板。 相当于C与C++的元素个数固定的传统数组类型。因此,其使用的内存空间在栈上分配,可用于constexpr或者函数的返回值。
模板类
编辑template<class Ty, std::size_t N> class array; template<int Idx, class Ty, std::size_t N> class tuple_element<Idx, <array<Ty, N> > {typedef Ty type;}; // 获取了array的元素的类型 template<class Ty, std::size_t N> class tuple_size<array<Ty, N> > {static const unsigned value = N;}; // 获取了array的元素个数
成员类型
编辑成员类型 | 定义 | 注释 |
---|---|---|
value_type | 第一个模板参数(T) | |
reference | value_type& | |
const_reference | const value_type& | |
pointer | allocator_traits<allocator_type>::pointer | 对于缺省分配器为value_type* |
const_pointer | allocator_traits<allocator_type>::const_pointer | 对于缺省分配器为const value_type* |
iterator | 指向value_type的前向迭代器 | 可转换为const_iterator |
const_iterator | 指向const value_type的前向迭代器 | |
difference_typ | 有符号的整形,即iterator_traits<iterator>::difference_type | 通常为 ptrdiff_t |
size_type | 可表示difference_type的任何非负值的无符号整形 | 通常为size_t |
const_reverse_iterator | ||
reverse_iterator |
成员函数
编辑- (constructor) 构造函数
- (destructor) 析构函数
- operator= 拷贝赋值运算符、移动赋值运算符、初始化器运算符
- 迭代器
- begin 返回指向开始位置的迭代器
- end 返回指向结束位置的迭代器
- cbegin 返回指向开始位置的const迭代器
- cend 返回指向结束位置的const迭代器
- crbegin
- crend
- rbegin
- rend
- 容量Capacity
- size 返回容器的容量
- 成员访问(Element access)
- operator[] 访问指定位置的元素,无边界检查
- at 访问指定位置的元素,有边界检查
- data 返回第一个元素的地址
- front 返回第一个成员的引用
- back 返回最后一个成员的引用
- 修改器(Modifier)
- operator= 赋值替换全部内容
- assign 赋值替换全部内容
- fill 用指定值替换所有元素
- swap 交换两个容器的内容
重载的非成员函数模板
编辑- 比较两个前向链表的关系运算符函数模板
- bool operator==(lhs, rhs),两个链表的对应成员两两比较
- bool operator!=(lhs, rhs)
- bool operator<(lhs, rhs),两个链表的对应成员做词典(lexicographical)比较
- bool operator>(lhs, rhs)
- bool operator<=(lhs, rhs)
- bool operator>=(lhs, rhs)
- swap (lhs, rhs) 交换两个vector对象的内容
- get 获取指定下标的元素的值
参考文献
编辑页面Template:ReflistH/styles.css没有内容。