確切的含義如下。在C++中沒有真正的2D矢量,但有std::vector<T>包含std::vector<T>。
如果你聲明一個載體std::vector<int> vec(10)你有一個包含10個元素的向量。所以vec.size()是10.
如果你聲明std::vector<std::vector<int>> vec(10, std::vector<int>(10))你有一個有10個元素的向量,每個元素包含一個包含10個元素的向量。因此vec[0]是std::vector<int>類型。
如果你想知道這個向量(含義是vec[0])包含多少元素,你可以很容易地做到vec[0].size()。
如果您想要計算元素的總數,則需要計算vec中包含的矢量數與每個這些矢量包含的元素數的乘積。因此vec.size()*vec[0].size()。
讓斷定:
我們有std::vector<std::vector<int>> vec(10,std::vector<int>(10)):
- 數量的行(的
std::vector<int>包含在vec數):vec.size() - 列數(包含在每個元素的數量
std::vector<int>):vec[0].size() - 元素總數:
vec.size()*vec[0].size()
參考:http://cn.voidcc.com/question/p-dpnflznn-u.html
