84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
STL中是否有定长的数组容器,类似限制元素数目的vector,不要用c的原始数组
一般当你需要使用数组的时候,std::vector是你的第一选择,它在大多数情况下效率都是最高的,如果你需要指定长度的数组,可以使用reserve()预先分配空间,或使用参数为长度的构造函数(参考中的第3个)。例如:
std::vector
reserve()
constexpr std::size_t init_size = 100; std::vector<int> vi1(init_size); std::vector<int> vi2; vi2.reserve(init_size);
当然,也有类似于内置的编译时确定长度数组的模板类std::array。
std::array
c++11的array。
初始化时指定vector的元素个数也挺方便的。
有std::array啊,很好用的,比内置数组好用多了
编译期的定长数组肯定用 std::array,但是我感觉题主并不是指这个,而是 C++ 17 新引入的变量指定的数组(这个功能在 C 已经出现很久了),同时它附带了一个容器 std::dynarray 配合使用,构造函数时确定大小,然后无法更改。现在的话,可以用 std::experimental::dynarray,或者是 gsl::dyn_array.
一般当你需要使用数组的时候,
std::vector
是你的第一选择,它在大多数情况下效率都是最高的,如果你需要指定长度的数组,可以使用reserve()
预先分配空间,或使用参数为长度的构造函数(参考中的第3个)。例如:当然,也有类似于内置的编译时确定长度数组的模板类
std::array
。c++11的array。
初始化时指定vector的元素个数也挺方便的。
有std::array啊,很好用的,比内置数组好用多了
编译期的定长数组肯定用 std::array,但是我感觉题主并不是指这个,而是 C++ 17 新引入的变量指定的数组(这个功能在 C 已经出现很久了),同时它附带了一个容器 std::dynarray 配合使用,构造函数时确定大小,然后无法更改。现在的话,可以用 std::experimental::dynarray,或者是 gsl::dyn_array.