0

2D配列の1行を1D配列に割り当てたいのですが、これが私がやりたいことです。 int words[40][16]; int arrtemp[16]; arrtemp=words[i];

4

2 に答える 2

5

std :: copyを使用します:

int words[40][16]; //Be sure to initialise words and i at some point
int arrtemp[16];
//If you don't have std::begin and std::end,
//use boost::begin and boost::end (from Boost.Range) or
//std::copy(words[i] + 0, words[i] + 16, arrtemp + 0) instead.
std::copy(std::begin(words[i]), std::end(words[i]), std::begin(arrtemp));
于 2012-05-01T13:20:24.020 に答える
3

配列はCおよびC++では不変です。それらを再割り当てすることはできません。

あなたが使用することができますmemcpy

memcpy(arrtemp, words[i], 16 * sizeof(int) );

16 * sizeof(int)これにより、バイトがからwords[i]にコピーされますarrtemp

于 2012-05-01T13:18:32.967 に答える