c – 矢量矢量,储备

前端之家收集整理的这篇文章主要介绍了c – 矢量矢量,储备前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我想将一个二维的int矩阵作为向量的向量来表示:
std::vector<std::vector<int> > myVec;

内部维度是常数,例如5,外部尺寸小于或等于N.为了最小化重新分配,我想保留空间:

myVec.reserve(N);

内向量假定什么尺寸?这是纯粹实现依赖吗?这如何影响数据的空间位置?由于内部维度是一个常数,有没有办法告诉编译器使用这个常量?如果内向量的大小改变,这些答案如何变化?

解决方法

由于你的内在维度是不变的,我想你想要的
std::vector< std::array<int,5> > vecs;
vecs.reserve(N);

这将给您预分配的连续存储,这是性能最佳的.

原文链接:https://www.f2er.com/c/112932.html

猜你在找的C&C++相关文章