![]() |
Was ist der Positive-Operator?
So, nur um da mal ganz sicher zu sein ... wofür ist dieser Positive-Operator?
Delphi-Quellcode:
Also, ich denk jetzt mal, der steht sozusagen als Gegensatz zum Minus,
Type TOperatorRecord = Record
Class Operator Positive(Const Rec: TOperatorRecord): TOperatorRecord; Class Operator Negative(Const Rec: TOperatorRecord): TOperatorRecord; End;
Code:
Y := [b]+X[/b]; // positive
Y := [b]-X[/b]; // negative aber wozu benötigt man denn nun überhaupt diesen Operator ... rein mathematisch hat der doch wohl keinen Sinn? Nja, bei der Definition mach ich dann doch hoffentlich nichts falsch, wenn ich beim Positive-Operator einfach eine Kopie des Records zurückgeb. bzw. hätte jemand was dagegen, wenn man dieses + einfach als Abs-Ersatz mißbraucht? (Abs&Sign hätte man ja schließlich auch Operator anlegen können ... ähnlich Round und Trunc, wobei dort auch wieder Floor und Ceil fehlen :gruebel: ) freu mich schon auf eure Meinungen :angel: |
Re: Was ist der Positive-Operator?
Die Funktionen die dahinter liegen, muß man doch implementieren, oder nicht?
|
Re: Was ist der Positive-Operator?
Denk auch an folgendes:
Delphi-Quellcode:
res := rec1 + rec2;
Dafür gibs ja einen extra Operator. Ich nehm alles zurück |
Re: Was ist der Positive-Operator?
jupp, aber die anderen Funktionen hab ich schon implementiert (man glaub garnicht wie schnell allein die Record-Deklaration fast 140 Zeilen einnimmt ... und das nur im Interface-Teil), es geht mir nur um den "Nutzen" dieser einen Funktion
Zitat:
|
Re: Was ist der Positive-Operator?
Hallo,
ist er nicht einfach dazu da, um etwas als positiv zu bewerten?
Code:
Kommt uns der Positivoperator im täglichen Leben nicht nur desshalb ungewöhnlich vor, weil wir die stille Übereinkunft habe, Zahlen ohne Vorzeichen als positiv zu betrachten?
x := 2 + 2;
x := +2 + +2; x := -2 + -2; x := 2 * 2; x := +2 * +2; x := -2 * -2; |
Re: Was ist der Positive-Operator?
ok, daß mag sein, aber dennoch ist
2 = +2 ... obwohl, eigentlich nicht, denn obwohl die 2 auch positiv ist, wird X := Y; und X := +Y; anders übersetzt:
Delphi-Quellcode:
Also aus Sicht der Operatoren ist ein Unterschied zwischen 2 und +2 .
X := Y; => Move(X, Y)
X := +Y; => Positive(Y, tY); Move(X, tY) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz