Wenn du bei einem Record mit operator überladung folgendes machst:
Delphi-Quellcode:
a := 1;
b := 2;
a := a + b;
wird bei der Addition a eine neue record Instanz zugewiesen.
Bei operator Überladungen wird bei binären Operationen für Result eine neue record Instanz erzeugt.
Was würde also passieren, wenn das diesem Fall Objekte wären? Wie wollte man den Speicher verwalten, wenn munter für Result neue Instanzen erzeugt würden und die Referenzen von Objekten in Variablen, denen dieses Ergebnis zugewiesen wird verloren gehen?
Delphi-Quellcode:
a := TMyObject.Create;
b := TMyObject.Create;
a := a + b;
Was würde hier passieren? Es müsste eine neue Instanz als Ergebnis für die Addition erstellt werden und die Referenz auf die vorher in Zeile 2 erstellte Instanz ginge bei der Zuweisung in Zeile 3 verloren.