[英]How to declare and initialize a 2d array of specific-sized vectors?
對於單個向量,我們只需執行以下操作:
vector<T> v(size);
但是,在制作2d數組時,語法的這種邏輯擴展不起作用:
vector<T> v(size)[N][N];
如何使它起作用,為什么C ++不能這樣起作用?
Vector動態分配內存,因此您無需預先指定Vector的大小。 您可以簡單地將vector聲明為
vector<vector<int>>v;
如果要使用一些預定義值(例如0或其他值)對其進行初始化,
vector<vector<int> >vect(row);
for (int i = 0; i < row; i++) {
vect[i] = vector<int>(col);
for (int j = 0; j < col; j++)
vect[i][j] = j + 1;
}
或者,如果您知道所有元素並且尺寸很小,那么就可以做到這一點
vector<vector<int> >vect{ { 11, 12 }, { 434 }, { 9, 10 } };
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.