Anche se io sono un lungo programmatore orario C, ho da poco imparato che si può assegnare direttamente le variabili di struttura tra loro invece di utilizzare memcpy:Perché posso assegnare le strutture, ma non confrontarli
struct MyStruct a,b;
...
a = b; /* implicit memcpy */
Anche se questo si sente un po '"di alto livello" per C, è decisamente utile. Ma perché non posso fare il confronto uguaglianza e disuguaglianza:
if (a == b) ...
if (a != b) ...
C'è qualche buona ragione per lo standard di escludere questo? O si tratta di un'incoerenza nello standard - altrimenti molto elegante -?
Non vedo perché posso sostituire i miei memcpy per compiti puliti, ma devo mantenere quei brutti memcmp sul posto.
+1 per aver fatto una domanda che mi ha insegnato qualcosa. –