我知道在std::vector<T>
内部将它的数据连续存储(除非它是std::vector<bool>
)在旧C++03
标准和新标准中C++11
。
处理这个问题并引用标准的很好的stackoverflow问题:answer,answer。
嵌套向量中的数据std::vector <std::vector <T> >
呢?它是如何存储的?
如果每个内部向量都需要连续存储其数据,那么&v[n] == &v[0] + n for all 0 <= n < v.size()
.
用稍微不同的话来说,是否可以像访问一维向量一样“简单地”顺序访问存储在这种嵌套结构中的所有元素(通过指针或类似方法)?