STL中是否有定长的数组容器,类似限制元素数目的vector,不要用c的原始数组
编译期的定长数组肯定用 std::array,但是我感觉题主并不是指这个,而是 C++ 17 新引入的变量指定的数组(这个功能在 C 已经出现很久了),同时它附带了一个容器 std::dynarray 配合使用,构造函数时确定大小,然后无法更改。现在的话,可以用 std::experimental::dynarray,或者是 gsl::dyn_array.
3 回答1.1k 阅读✓ 已解决
1 回答983 阅读✓ 已解决
4 回答773 阅读
1 回答852 阅读
1 回答884 阅读
1 回答650 阅读
1 回答758 阅读
一般当你需要使用数组的时候,
std::vector
是你的第一选择,它在大多数情况下效率都是最高的,如果你需要指定长度的数组,可以使用reserve()
预先分配空间,或使用参数为长度的构造函数(参考中的第3个)。例如:当然,也有类似于内置的编译时确定长度数组的模板类
std::array
。