Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: Code Optimisation: Benutzung von const in prozedur-Köpfen

  Alt 8. Jun 2017, 12:38
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...
Nö, für den Aufrufer ändert sich doch nichts. Wenn die Methode kein const hätte erhält sie lokal auf dem Stack eine Kopie des Parameters, aber was kümmert das den Aufrufer?
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 Methoden verändert werden...)

Warum hat developer X Var geschrieben? Weil er nicht wollte, das die ganze Struktur einmal kopiert werden muss... (Der kannte kein Const) Ich habe selber noch Millionen Zeilen Source-Code mit Var statt Const.
  Mit Zitat antworten Zitat