std::array

来自cppreference.com
< cpp‎ | container


 
 
 
std::array
成员函数
原文:
Member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
元素的访问
原文:
Element access
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
array::at
array::operator[]
array::front
array::back
array::data
迭代器
原文:
Iterators
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
array::begin
array::cbegin
array::end
array::cend
array::rbegin
array::crbegin
array::rend
array::crend
容量
原文:
Capacity
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
array::empty
array::size
array::max_size
修饰符
原文:
Modifiers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
array::fill
array::swap
非成员函数
原文:
Non-member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
get
swap
Helper类
原文:
Helper classes
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
tuple_size
tuple_element
 
在头文件 <array> 中定义
template<

    class T,
    std::size_t N

> struct array;
(C++11 起)

std::array是固定元素个数的容器。

此容器的语义与相应C数组的语义相同。容器array<T,N>的大小等于相应C数组T[N]的大小,且性能也与C数组相同。但是它提供了C++标准容器的相应特性,如可以查询容器大小,支持复制,支持随机迭代器等等。

对于长度为0的std::array<T,0>存在一个特例。此时array.begin() == array.end(),且等于某个特定值。对这种array调用front()back()的行为是未定义的。

array是一个简单集合(没有构造函数,也没有私有或保护成员),故支持相应的初始化aggregate-initialization

一个数组同时也可以当作一个有N个相同类型元素的tuple


目录

[编辑] 成员类型

成员类型 定义
value_type T [edit]
size_type size_t [edit]
difference_type ptrdiff_t [edit]
reference value_type& [edit]
const_reference const value_type& [edit]
pointer T*[edit]
const_pointer const T*[edit]
iterator RandomAccessIterator [edit]
const_iterator 随机访问常迭代器[edit]
reverse_iterator std::reverse_iterator<iterator> [edit]
const_reverse_iterator std::reverse_iterator<const_iterator> [edit]

[编辑] 成员函数

元素访问
访问指定的元素,同时进行越界检查
(公共成员函数) [edit]
访问指定的元素
原文:
access specified element
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公共成员函数) [edit]
访问第一个元素
(公共成员函数) [edit]
访问最后一个元素
(公共成员函数) [edit]
返回指向内存中数组第一个元素的指针
(公共成员函数) [edit]
迭代器
返回指向容器开始的迭代器
(公共成员函数) [edit]
返回指向容器尾端的迭代器
(公共成员函数) [edit]
返回一个指向容器最后一个元素的反向迭代器
(公共成员函数) [edit]
返回一个指向容器前端的反向迭代器
(公共成员函数) [edit]
容量控制
检查是否容器是空的
原文:
checks whether the container is empty
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公共成员函数) [edit]
返回的元素数
原文:
returns the number of elements
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公共成员函数) [edit]
返回可能容纳的最大元素数
(公共成员函数) [edit]
操作
使用指定的值填充容器
原文:
fill the container with specified value
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公共成员函数) [edit]
交换array的内容
(公共成员函数) [edit]

[编辑] 非成员函数

根据字典顺序比较的array中的值
原文:
lexicographically compares the values in the array
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
访问array的一个元素
(函数模板) [edit]
特化std::swap算法
(函数模板) [edit]

[编辑] 辅助类

获得的array大小
原文:
obtains the size of an array
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板特化) [edit]
array的元素获得的类型
原文:
obtains the type of the elements of array
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板特化) [edit]

[编辑] 例子

#include <string>
#include <iterator>
#include <iostream>
#include <algorithm>
#include <array>
 
int main()
{
    // construction uses aggregate initialization
    std::array<int, 3> a1{ {1,2,3} };    // 除非使用=,否则需要
    std::array<int, 3> a2 = {1, 2, 3}; // 使用双重花括号
    std::array<std::string, 2> a3 = { {std::string("a"), "b"} };
 
    // 支持基本的容器操作
    std::sort(a1.begin(), a1.end());
    std::reverse_copy(a2.begin(), a2.end(), std::ostream_iterator<int>(std::cout, " "));
 
    // 支持范围for
    for(auto& s: a3)
        std::cout << s << ' ';
}

输出:

3 2 1 a b