Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

AW: Vektorklasse mit echten Operatoren

  Alt 17. Mär 2014, 16:57
Wie sieht es eigentlich mit dem "Nextgen"-Compiler aus? Da müsste doch für Klassen mittlerweile volle Operator-Überladung funktionieren, oder?
Theoretisch hätte es jetzt auch schon für Interfaces gehen können. Und ja, beim ARC (NextGen) könnte es funktionieren,
wenn die endlich mal meine Wünsche implementiert hätten, die seit Jahren im QC rumgammeln.

Der Grund, warum es bei Klassen nicht geht/ging, liegt darin begründet, daß dort keine automatische Speicherverwaltung existiert.

Delphi-Quellcode:
x := a * b + c;
// oder
x := a + b + c;
// [add] und selbst das einfache Nächste geht nicht
x := a + b;
Hier würden ja temporäre Variablen/Instanzen erstellt.
- das Ergebnis von a*b und a+b
- und das Ergebnis von t+c
Aber keiner fühlt sich verantwortlich diese Instanzen freizugeben.


Und es gibt noch ein paar Problemchen, denn es gibt kein Copy-Event, auf welches man per Klassenoperator reagieren kann.
Bei X := Y; kann man mit Klassen und vorallem ohne Referenzzählung nichts richtig behandeln.

Ich hatte mal versucht Interfaces in den Operator-Record zu packen, aber das war eine Heiden Arbeit und so weit ich mich erinnere, gab es dennoch ein paar Problemchen. (wofür ich gerne das Copy-Event haben wollte)
[add] http://www.delphipraxis.net/128555-i...athlib%5D.html
$2B or not $2B

Geändert von himitsu (17. Mär 2014 um 17:07 Uhr) Grund: deswegen
  Mit Zitat antworten Zitat