【发布时间】:2017-10-15 21:29:03
【问题描述】:
我不明白这之间有什么区别:
std::vector< std::vector<bool> > matrix;
和
bool matrix[n][m];
我可以使用.size() 来查找它们的行和列吗?
谢谢。
【问题讨论】:
-
“我可以使用 .size() 来查找它们的行和列吗?” - 不能。至于列举差异,我不确定它是否过于宽泛。
-
一个是容器,另一个是原始二维数组。
-
它可能是一个原始的二维数组,也可能是一个可变长度的数组,而那些臭虫需要如此多的后端怪异,以至于你不能真正称它们为原始数组。
-
使用简单二维数组的原因有很多,但如果提问者想了解
.size(),这可能不是其中之一 -
哇!忘了那个。另一个很大的区别是
vector <vector<whatever>>实际上是一个vector,包含更多vectors,每个都有自己的动态分配的存储池。可以想象,这种存储分散在整个内存中,而不是在数组的情况下分散在一个好的块中。
标签: c++ matrix vector boolean size