c++ - STL中是否有定长的数组容器,类似限制元素数目的vector,不要用c的原始数组
巴扎黑
巴扎黑 2017-04-17 13:27:23
0
4
1396

STL中是否有定长的数组容器,类似限制元素数目的vector,不要用c的原始数组

巴扎黑
巴扎黑

全部回覆(4)
伊谢尔伦

一般當你需要使用陣列的時候,std::vector是你的第一選擇,它在大多數情況下效率都是最高的,如果你需要指定長度的數組,可以使用reserve()預先分配空間,或使用參數為長度的建構函式(參考中的第3個)。例如:

constexpr std::size_t init_size = 100;

std::vector<int> vi1(init_size);

std::vector<int> vi2;
vi2.reserve(init_size);

當然,也有類似內建的編譯時確定長度數組的模板類別std::array

PHPzhong

c++11的array。

初始化時指定vector的元素個數也挺方便的。

迷茫

有std::array啊,很好用的,比內建陣列好用多了

左手右手慢动作

編譯期的定長數組肯定用std::array,但是我感覺題主並不是指這個,而是C++ 17 新引入的變量指定的數組(這個函數在C 已經出現很久了),同時它附帶了一個容器std::dynarray 配合使用,建構函式時決定大小,然後無法變更。現在的話,可以用 std::experimental::dynarray,或是 gsl::dyn_array.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板