C++における2次元配列の値の代入方法は何がありますか?
C++で二次元配列に値を代入する方法には次のようなものがあります:
- ネストされたループを使用して、値を一つずつ割り当てます。
int arr[3][3];
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
arr[i][j] = i * 3 + j;
}
}
- 初期化リストを使用して値を設定する:
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
- memcpy関数を使用してメモリコピーを行います。
int arr1[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int arr2[3][3];
memcpy(arr2, arr1, sizeof(arr1));
- std::copy関数を使用して要素をコピーして代入する。
int arr1[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int arr2[3][3];
std::copy(&arr1[0][0], &arr1[0][0] + sizeof(arr1) / sizeof(int), &arr2[0][0]);
注意:上記の方法は通常の2次元配列に適用されますが、動的に割り当てられた2次元配列(new演算子を使用する場合など)には適用されません。