Forum: Programmieren allgemein
by Mavarik,
9. Jun 2017
Gut... Mov und lea hat laut meiner x86 reference die gleiche Anzahl von Taktzyklen... Also egal... aber wenn es CallByValue ist - ist die nicht Beschreibbarkeit Compilermagic...?
Forum: Programmieren allgemein
by Mavarik,
9. Jun 2017
Nicht so ganz... Const ist auch ein CallbyReference, der verbotene Schreibzugriff wird über Compilermagic geregelt... Oder?
Mavarik
Forum: Programmieren allgemein
by Mavarik,
8. Jun 2017
Also: Bei Procedure Foo(Var AValue : integer) könnte es sein, dass die procedure Foo AValue intern verändert. Um das raus zu bekommen, muss ich mir die Procedure anschauen... Wenn da jedoch Procedure Foo(Const AValue : Integer) steht, ist es klar, meine Variable bleibt erhalten... (Halte Dich jetzt nicht am Integer="Welchertyp auch immer" fest) (Abgesehen von Classen-Object-Inhalte die über...
Forum: Programmieren allgemein
by Mavarik,
8. Jun 2017
Ich denke Const ist nicht nur für die Performance, sondern auch (für mich) so einen Art Flag...
Signalisiert mir Procedure Foo(Const AValue : Integer) ändert nix an dem was ich Übergebe...
Genauso wie OUT klar kann man Var nehmen aber das verhalten wird eindeutiger...
Forum: Programmieren allgemein
by Mavarik,
8. Jun 2017
Jo... Wenn ich einen Referenz als Const übergebe und dann ne "GLOBALE" Variable intern ändere, muss ich mich nicht wundern...
Wie macht das den C? Den Zugriff auf die Globale Variable verhindern, weil das zufällig die gleiche Referenz ist?
Fehlermeldung beim compilieren? Oder etwa zur Laufzeit?
Mavarik