概要
std::array
是C++
标准库提供的一个封装原生定长数组的模板类
std::array<T, N>
与原生数组T[N]
具有相同的内存大小,并且默认都是分配在栈内存std::array
相比原生数组多了更多的可操作性和属性, 比如获取数组大小可以直接使用array.size()
, 整数数组清零可以使用array.fill(0)
std::array
也支持原生数组相同的for each
循环- 总之就是,原生数组能做的事,
std::array
都可以做,std::array
可以做的事,原生数组不一定可以做 - 建议优先使用
std::array
使用方法
包含头文件
#include <array>
定义与初始化
- 局部变量
// 使用传统默认构造: 每个元素都会调用默认构造
std::array<int, 100> numbers; // C++11前的语法
std::array<int, 100> numbers{
}; // C++11后的语法
// 使用 auto
auto numbers = std::array<int, 10>{
}; // C++11开始支持
- 类成员变量