c – 矢量矢量,储备

c – 矢量矢量,储备,第1张

概述假设我想将一个二维的int矩阵作为向量的向量来表示: std::vector<std::vector<int> > 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);

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

总结

以上是内存溢出为你收集整理的c – 矢量矢量,储备全部内容,希望文章能够帮你解决c – 矢量矢量,储备所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1251874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存