本文共 1225 字,大约阅读时间需要 4 分钟。
array容器是C++ 11 标准中新增的序列容器。它基于标准数组,提供了一些额外的功能和安全性。与传统数组相比,array容器支持更安全的索引访问和容器操作,同时不会显著影响性能。
创建array容器的方式与传统数组类似,但更安全。需要注意以下事项:
<array>头文件;arrayname;
可以通过以下方式初始化array容器:
arrayarr = {1, 2, 3, 4}; // 列表中的元素个数决定数组中填充的数量
fill()成员函数:arrayarr;arr.fill(3); // 将所有元素初始化为3
iota()函数:#include// ...array arr;iota(arr.begin(), arr.end(), 1); // 初始化为连续的递增值
at()访问越界元素时抛出异常;通过以下成员函数可以访问array容器的元素:
operator[]:返回元素的引用,索引从0开始;at():返回元素的引用,索引从0开始,越界时抛出异常;front()和back():分别返回第一个和最后一个元素的引用;data():返回指向第一个元素的指针。array容器支持随机访问迭代器,包括:
begin()和end():正向迭代器;rbegin()和rend():反向迭代器;cbegin()、cend()、crbegin()、crend():常量迭代器。size():返回数组的大小;max_size():返回数组的最大容量;empty():判断数组是否为空。fill():将所有元素设为指定值;swap():与另一个array容器交换内容。array容器支持以下关系运算符:
templatebool operator== (const array & lhs, const array & rhs);// 其他比较运算符(!=, <, <=, >, >=)同理
可以通过这些运算符比较两个array容器的大小和内容是否相等或相差。
转载地址:http://zpco.baihongyu.com/