c++ STL array简单用法

前言

c++ STL array简单用法

array是C++11新增的容器,效率与普通数据相差无几,比vector效率要高,自身添加了一些成员函数。
和其它容器不同,array 容器的大小是固定的,无法动态的扩展或收缩,只允许访问或者替换存储的元素。

常用方法

成员函数	功能
begin()	返回容器中第一个元素的访问迭代器(地址)
end()	返回容器最后一个元素之后一个位置的访问迭代器(地址)
rbegin()	返回最后一个元素的访问迭代器(地址)
rend()	返回第一个元素之前一个位置的访问迭代器(地址)
size()	返回容器中元素的数量,其值等于初始化 array 类的第二个模板参数N
max_size()	返回容器可容纳元素的最大数量,其值始终等于初始化 array 类的第二个模板参数 N
empty()	判断容器是否为空
at(n)	返回容器中 n 位置处元素的引用,函数会自动检查 n 是否在有效的范围内,如果不是则抛出 out_of_range 异常
front()	返回容器中第一个元素的直接引用,函数不适用于空的 array 容器
back()	返回容器中最后一个元素的直接引用,函数不适用于空的 array 容器。
data()	返回一个指向容器首个元素的指针。利用该指针,可实现复制容器中所有元素等类似功能
fill(x)	将 x 这个值赋值给容器中的每个元素,相当于初始化
array1.swap(array2)	交换 array1 和 array2 容器中的所有元素,但前提是它们具有相同的长度和类型

Code

#include
#include

using namespace std;

int main(){

    array<int,5> a={1,2,3,4,5};
    // array a{1,2,3,4,5};
    for(int i =0; i < a.size();i++){
        a[i] = i;
    }
    cout << endl;

    for(int i =0; i < a.size();i++){
        cout << a[i] << " ";
    }
    cout << endl;

    for(auto i : a){
        cout << i << " ";
    }
    cout <<endl;

    auto it = a.begin();
    for(;it!=a.end();it++){
        cout << *it << " ";
    }
    cout << endl;

    int res = a.at(1) + a.at(2);
    cout << res << "\n";

    return 0;
}

result


0 1 2 3 4 
0 1 2 3 4 
0 1 2 3 4 
3

你可能感兴趣的:(C++基础学习,c++,算法,开发语言)