簡體   English   中英

在C ++中初始化Vector的Vector

[英]Initialize Vector Of Vectors in C++

我試圖在C ++中將向量的向量用作2D數組。 我必須閱讀用戶的輸入。 用戶還可以輸入行數和列數。

假設我讀了m * n矩陣,

我嘗試使用reserve(m * n)分配空間,但在構建時也出現錯誤。

這是我面臨的一個普遍問題,我的意思是即使在您逐個讀取char的字符串中,如何為其提供空間,以便可以訪問索引i(我知道可以使用.resize(given_size)來完成),但是在某些情況下尚不清楚用戶將輸入多少個字符,這是無法完成的(可以使用+運算符規避,但這仍然不是直接的解決方案)。

所以,我的主要問題是如何初始化向量的向量(不放入值,而是分配所需的空間,行和列),以便我可以訪問[i] [j]來讀取值?

我知道可以使用像這里這樣的向量來構建矩陣,但是我想先聲明一個向量,然后接受行和列的輸入來分配空間,以便我可以訪問[i] [j]來輸入元素。

std::vector<std::vector<T>> my_vec(m, std::vector<T>(n))

請注意,矩陣的m * n成員中的每個成員都調用T的默認構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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