Auch wenn ich eine lange Zeit C-Programmierer bin, habe ich erst vor kurzem, dass man direkt Strukturvariablen miteinander statt mit Memcpy zuordnen:Warum kann ich structs zuweisen, aber nicht vergleichen sie
struct MyStruct a,b;
...
a = b; /* implicit memcpy */
Obwohl diese fühlt sich ein bisschen "high-level" für C an, es ist definitiv nützlich. Aber warum kann ich Gleichheit und Ungleichheit Vergleich nicht tun:
if (a == b) ...
if (a != b) ...
Gibt es einen guten Grund für den Standard dies auszuschließen? Oder ist das eine Inkonsequenz im ansonsten sehr eleganten Standard?
Ich sehe nicht, warum ich meine memcpy für saubere Aufgaben ersetzen kann, aber ich muss diese hässlichen Memcmp an Ort und Stelle zu halten.
+1 für das Stellen einer Frage, die mir etwas beibrachte. –