C++ 構造体配列のコピー:memcpyの安全な使い方
C++では、構造体配列をコピーするためにmemcpy関数を使用することができます。以下はサンプルコードです:
#include <iostream>
#include <cstring>
struct MyStruct {
int id;
char name[20];
};
int main() {
MyStruct arr1[3] = {{1, "Alice"}, {2, "Bob"}, {3, "Charlie"}};
MyStruct arr2[3];
// 使用memcpy复制结构体数组
memcpy(arr2, arr1, sizeof(arr1));
// 打印复制后的数组
for (int i = 0; i < 3; i++) {
std::cout << "id: " << arr2[i].id << ", name: " << arr2[i].name << std::endl;
}
return 0;
}
上記の例では、idとnameのメンバーを持つ構造体MyStructを定義し、二つの構造体配列arr1とarr2を作成しました。memcpy関数を使用してarr1のデータをarr2にコピーし、コピー後の結果を表示しました。