Array简单介绍

Array

  • 1.简介
  • 2.数组的定义和初始化
    • 一维数组
  • 3.array的方法
  • 4.例子

1.简介

array是一个数组对象,里面包含了许多属性和方法。
array 容器以类模板的形式定义在 array 头文件,并位于命名空间 std

#include 
namespace std{template <typename T, size_t N>class array;
}

2.数组的定义和初始化

一维数组

  • 定义格式:
array<T,N> 数组名
//T 用于指明容器中的存储的具体数据类型,N 用于指明容器的大小

注:N必须是常量,不能是变量
eg:

array<double, 10> values;

创建好了一个名为 values 的 array 容器,其包含 10 个浮点型元素。但是array不会进行初始化,所以里面的值是随机的。

  • 将所有的元素初始化为 0
array<double, 10> values {};

3.array的方法

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

4.例子

#include 
//需要引入 array 头文件
#include 
using namespace std;
int main()
{array<int, 4> values{};//初始化 values 容器为 {0,1,2,3}for (int i = 0; i < values.size(); i++) {values.at(i) = i;}//使用 get() 重载函数输出指定位置元素cout << get<3>(values) << endl;//如果容器不为空,则输出容器中所有的元素if (!values.empty()) {for (auto val = values.begin(); val < values.end(); val++) {cout << *val << " ";}}
}

输出:

3
0 1 2 3


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部