读取输入到一个阵列中后:读阵列2点的尺寸以另一种方式C++
std::vector<unsigned char *> inputs(elements);
的“inputs
”是一个2维阵列:inputs[3][2]
,然后读此阵列出,这些值是:
inputs[0][0]=1
inputs[0][1]=2
inputs[1][0]=3
inputs[1][1]=4
inputs[2][0]=5
inputs[2][1]=6
我想读此2维阵列成一个维阵列:
int counter=0;
int * allElements = new int[6];
for(int i=0; i<3; i++)
for(int j=0; j<2; j++)
{
allElements[counter++] = (int)inputs[i][j];
}
这是读取所有的元素融入到一个维数组传统的方式,我相信,如果我读的“allElements
”这样的元素:
for(int i=0; i<6; i++)
printf("%d ", allElements[i]);
,它应该是:1 2 3 4 5 6
然而,我想读二维数组的所有元素融入到一个维数组,这样当我不喜欢这样写道:
for(int i=0; i<6; i++)
printf("%d ", allElements[i]);
它应该是:1 3 5 2 4 6
换言之,首先读取二维数组的所有第一个元素。
我该如何做到这一点?
为什么使用'unsigned char *'而不是'vector'? –
moshbear