AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Konstante Übergabevariablen bei Prozeduren/Funktionen
Thema durchsuchen
Ansicht
Themen-Optionen

Konstante Übergabevariablen bei Prozeduren/Funktionen

Ein Thema von Cyberstorm · begonnen am 26. Jul 2011 · letzter Beitrag vom 26. Jul 2011
Antwort Antwort
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#1

Konstante Übergabevariablen bei Prozeduren/Funktionen

  Alt 26. Jul 2011, 09:50
Moin.

Mal eine kurze Frage, die mir aber schon seit Jahren im Kopf rumgeistert:

Procedure Whatever(input: integer);

vs.

Procedure Whatever(const input: integer);

Bringt das definieren als Konstante hardwareseitig theoretisch irgendeine Verbesserung (ram / cpu) und falls ja, wieso sieht man es so selten bei Funktionen / Prozeduren aus dem Netz, wo die Übergabeparameter eigentlich zu 90% Konstant sind?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Konstante Übergabevariablen bei Prozeduren/Funktionen

  Alt 26. Jul 2011, 09:53
Warum sollte es?
Markus Kinzler
  Mit Zitat antworten Zitat
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Konstante Übergabevariablen bei Prozeduren/Funktionen

  Alt 26. Jul 2011, 10:00
Warum sollte es?
Weil es die Möglichkeit gibt.

Wo ist sonst der Sinn von Konstanten, nur zu Wissen, dass sich der Wert nicht ändert?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Konstante Übergabevariablen bei Prozeduren/Funktionen

  Alt 26. Jul 2011, 10:04
Aber warum sollten diese dann weniger Speicherplatz belegen?
Es wird so nur sichergestellt, dass der Wert innerhalb der Prozedur/Funktion nicht geändert werden kann.
Markus Kinzler
  Mit Zitat antworten Zitat
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Konstante Übergabevariablen bei Prozeduren/Funktionen

  Alt 26. Jul 2011, 10:18
Aber warum sollten diese dann weniger Speicherplatz belegen?
Es wird so nur sichergestellt, dass der Wert innerhalb der Prozedur/Funktion nicht geändert werden kann.
Weiß auch nicht. Dachte z.B. bei einem konstanten String spart man evtl. irgendeinen Zwischenschritt
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Konstante Übergabevariablen bei Prozeduren/Funktionen

  Alt 26. Jul 2011, 10:27
Bei strings kann es ohne const sein, dass der Compiler diesen komplett kopiert und der somit 2 mal im RAM liegt.
Es gab da mal einige ASM /- Performancevergleiche die stark abweichten.
Ich denk mal das es bei Int genauso ist. Ich schreib einfach überall const dran wo es geht. (nur lesende Parameter)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz