Einzelnen Beitrag anzeigen

Gravitar

Registriert seit: 8. Okt 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#1

Unterschied zwischen Variant und Generics

  Alt 6. Jun 2014, 10:07
Delphi-Version: 5
Hallo,

bin gerade dabei mir Swift anzuschauen. Dort bin ich über die Beschreibung zu Generics gestolpert und habe mich gefragt, wo eigentlich der Unterschied zwischen dem Datentyp Variant in Delphi und dem Datentyp Generic in Swift ist.

Hier mal das exemplarische Beispiel einer Vertauschfunktion (SwapToValues) von zwei Werten (egal welchen Typs) in Swift:

Code:
    func swapTwoValues<T>(inout a: T, inout b: T) {
      let temporaryA = a
      a = b
      b = temporaryA
    }
In Delphi (7) würde das Ganze mit Variant nun so aussehen:

Delphi-Quellcode:
Procedure swapTwoValues(Var a,b:Variant)
var
  temporaryA : variant;
begin
  temporaryA := a;
  a := b;
  b := temporaryA;
end;
Auch diese Procedure läßt sich mit beliebigen Typen (int, float, string...) aufrufen und taucht die Werte gegeneinander aus.

Wo ist jetzt also der große Unterschied?
  Mit Zitat antworten Zitat