私は長い間 C プログラマーですが、memcpy を使用する代わりに、構造体変数を相互に直接割り当てることができることを最近知りました。
struct MyStruct a,b;
...
a = b; /* implicit memcpy */
これは C にとっては少し「高水準」に感じられますが、間違いなく便利です。しかし、等値と不等値の比較ができないのはなぜですか。
if (a == b) ...
if (a != b) ...
標準がこれを除外する正当な理由はありますか? それとも、これは - そうでなければ非常にエレガントな - 標準の矛盾ですか?
memcpy をきれいな割り当てに置き換えることができる理由はわかりませんが、それらの醜い memcmp を所定の位置に保持する必要があります。