直接割り当て (すなわち =
) は、何かをキャストしてからchar*
、ループを使用しfor
てバイトごとにコピーするのと同じですか? *
ある方法が他の方法よりも優れているかどうかを知りたい。
struct A
{
int a;
int b;
} Test;
void* Buffer = malloc(1024);
// Casting and byte copying
for (int i=0; i != 8; i++)
{
((char*)Buffer)[i] = ((char*)Test)[i];
}
// Assignment
((A*)Buffer)[0] = Test;
* すべての型はビットごとにコピー可能です。
編集:回答に基づいて、memcopyは「=」と同じです