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にコピーし、コピー後の結果を表示しました。

bannerAds