加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 矢量矢量,储备

发布时间:2020-12-16 06:02:18 所属栏目:百科 来源:网络整理
导读:假设我想将一个二维的int矩阵作为向量的向量来表示: std::vectorstd::vectorint myVec; 内部维度是常数,例如5,外部尺寸小于或等于N.为了最小化重新分配,我想保留空间: myVec.reserve(N); 内向量假定什么尺寸?这是纯粹实现依赖吗?这如何影响数据的空间位
假设我想将一个二维的int矩阵作为向量的向量来表示:
std::vector<std::vector<int> > myVec;

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

myVec.reserve(N);

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读