Parametry przekazywane przez stałą (parametry stałe)


Parametry stałe (const) są traktowane jako lokalne stałe lub inaczej lokalne zmienne tylko do odczytu. Parametry stałe są podobne do parametrów przekazywanych przez wartość z tą różnicą, że nie można dokonywać przypisań wartości do takich parametrów, jak też nie można użyć parametru stałego w liście parametrów aktualnych wywołania innej funkcji/procedury na pozycji parametru przekazywanego przez zmienną. (Ale jeśli parametrem stałym jest odwołanie do obiektu, można modyfikować jego właściwości.)

Używanie stałych parametrów umożliwia kompilatorowi zoptymalizować kod dla parametrów strukturalnych i łańcuchowych. Zapewnia to także ochronę na wypadek niezamierzonych przekazań parametrów przez zmienną do innych funkcji/procedur.

Przykład nagłówka funkcji CompareStr z modułu SysUtils:

 function CompareStr(const S1, S2: string): Integer;

Ponieważ S1 i S2 nie są modyfikowane wewnątrz funkcji, mogą byc zadeklarowane jako parametry stałe.