将C ++ / C中的2D数组拆分为子数组

时间:2018-12-04 08:51:45

标签: c++ arrays

我有一个2D数组C[100][10],我想逐列拆分它,并插入到1D Array中,如下所示:

C[100][10]拆分为C[0:100][0]C[0:100][1],...,C[0:100][10] 并将插入的拆分数组插入一维数组,例如:A[100] =C[0:100][0]

我可以使用for循环来完成所有这些工作,但是要花很长时间,时间对于我的项目至关重要。 有什么办法可以解决这个问题,除了for-loop

1 个答案:

答案 0 :(得分:2)

您应该使用子数组的数组,例如:

std::array<std::array<TYPE, 100>, 10> C;

然后,每个子数组的元素连续存储在内存中,并且操作更快。 std::array提供复制操作符

std::array<TYPE, 100> A = C[i];