簡體   English   中英

如何聲明和初始化特定尺寸向量的二維數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM