如何解决std::vector 和多维数组的连续内存?
开发过程中遇到std::vector 和多维数组的连续内存的问题如何解决?下面主要结合日常开发的经验,给出你关于std::vector 和多维数组的连续内存的解决方法建议,希望对你解决std::vector 和多维数组的连续内存有所启发或帮助;问题描述
我知道标准不会强制std::vector分配连续的内存块,但所有实现都遵守这一点.
假设我想创建一个多维静态数组的向量.为简单起见,考虑 2 个维度,以及一个长度为 N 的向量.也就是说,我希望创建一个包含 N 个元素的向量,例如 int[5].
我能确定所有 N*5 整数现在在内存中都是连续的吗?这样我原则上就可以通过知道第一个元素的地址来访问所有整数?此实现是否依赖?
作为参考,我目前在连续内存块中创建二维数组的方式是首先创建一个长度为 N 的 float* 数组(动态),将所有 N*5 个浮点数分配到一个数组中,然后复制每个数组的地址float* 的第一个数组中的第 5 个元素.
尚未找到解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)