概述
介绍
模板定义的一种相当于标准数组的容器类型。
使用
创建
std::array<double, 100> data {}; // 创建100个double,值全0
std::array<double, 10> values {0.5, 1.0, 1.5, 2.0}; // 值初始化
赋值
values.fill(3); // 所有元素全部赋值3
源码
从里面可以看到支持了begin end 和size
template <typename T>
struct Array
{
std::size_t size_;
const T *data_;
Array()
: size_(0), data_(nullptr) {} //可以看见默认是0和空指针
Array(size_t s, const T *p)
: size_(s), data_(p) {} // 大小和数据指针
const T*
begin() const
{ return data_; } //提供了bigin end size操作
const T*
end() const
{ return data_ + size_; }
std::size_t
size() const
{ return size_; }
};
辨析
和普通数组的区别
- 访问更安全: at(),当用一个非法的索引访问数组元素时,能够被检测到
- 使用方便:数组容器可以作为参数传给函数,而不再需要单独去指定数组元素的个数
- 遍历机制:有正向和反向迭代器
- 一些函数支持:size,empty,front,back,swap,assign
和vector区别:
- 虽然底层都是数组,但是array不能动态扩展,vector能
最后
以上就是外向帆布鞋为你收集整理的array解析及操作的全部内容,希望文章能够帮你解决array解析及操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复