【发布时间】:2015-06-24 08:06:28
【问题描述】:
我想尽可能少地复制。目前我正在使用num_t* array = new num_t[..],然后在for循环中将多维向量的每个值复制到array。
我想找到一个更好的方法来做到这一点。
【问题讨论】:
-
如果它对您来说很重要,那么也许您应该考虑不使用
vector开始。 -
@aces 是 num_t 算术类型吗?
-
无论如何,您应该使用库的副本而不是您自己的循环。在 C++ 中,这是
<algorithm>scopy。 -
顺便说一句,您可以使用
vector函数data()和size()在单个函数调用中复制整个数据。 -
那么我将不使用 vector
> 而是存储二维数据,例如在row-major order 中,在平面向量 中。复制这个向量就很容易了。
标签: c++ arrays multidimensional-array stl stdvector