在C++中matrix.size,和matrix [0] .size

确切的含义如下。在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