Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#39

AW: Größe Exe-Datei XE2 -> XE4

  Alt 14. Apr 2014, 18:02
Ich habe das nie verstanden, warum die Dinger dann Generics genannt werden und nicht Templates? Denn das sind sie dann im Endeffekt doch, oder?

PS: Von Generics in .Net bzw. deren Unterschied zu C++ Templates habe ich keine Ahnung.
In C# wird der Code für einen Generic, wo der Typparameter ein Referenztyp ist, geshared. D.h. es spielt keine Rolle, ob du eine TList<TAffe> oder TList<TGiraffe> hast, weil beides ein Referenztyp ist. Der C++ Linker hingegen hat eine Optimierungsoption, die dafür sorgt, dass binär gleicher Code wieder rausgeworfen wird. Beides ist in Delphi nicht vorhanden, es wird pro generischer Typ der Code dupliziert.

Einzige Möglichkeit ist, sich da selber (je nach Art des Generics in sehr begrenztem Rahmen) zu behelfen, wie ich in Spring4D zum Beispiel mit den Listen getan habe.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat