Vergleich Werte- und Variablenparameter
|
Werteparameter |
Variablenparameter |
|
|---|---|---|
| Aufruf (aktueller Parameter) |
Prozedurname (<Parameterliste>) Beispiel: MaskeAktualisieren(Patient); |
Prozedurname (<Parameterliste>) Beispiel: DatenAktualisieren(Patient); |
| Definition (formaler Parameter) |
procedure <Bezeichner> (<parameter> : <datentyp>); Beispiel: procedure MaskeAktualisieren (pat : TPatient); |
procedure <Bezeichner> (var <parameter> : <datentyp>); Beispiel: procedure DatenAktualisieren (var pat : TPatient); |
| Gültigkeitsbereich | lokal in der aufgerufenen Prozedur | Global, im definierten Gültigkeitsbereich |
| Übertragung | als Kopie | als Speicheradresse |
| Sicherheit | hoch, da das Original nicht verändert werden kann. | niedrig, da Seiteneffekte durch Veränderung des Originals möglich |
| Fazit | langsamer, aber sicherer | schneller, aber Seiteneffekte bei unsauberer Programmierung möglich |