在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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM