Wiązanie parametrów - teoria

Wiązanie parametrów - teoria
NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 11
0

Poszukuję informacji na temat sposobów wiązania parametrów procedur w języku programowania Pascal, niestety google nie zwraca żadnych ciekawych informacji na ten temat. Coś słyszałem że są wczesne i późne.
Ktoś wie coś na ten temat i może pomóc ? Albo zna jakieś źródła na temat przedstawionego zagadnienia ?

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1

a gdzie to słyszałeś?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1

Przypadkiem nie chodzi o przekazywanie parametrów przez wartość lub przez referencję?

szopenfx
  • Rejestracja: dni
  • Ostatnio: dni
1

Nie spotkałem się nigdy z takim określeniem - zwłaszcza w stosunku do procedur/funkcji. Może chodzi o to czy funkcja jest zahardcode'owana w programie podczas kompilacji (wczesne wiązanie) albo np. poprzez wybranie odpowiedniej funkcji podczas działania programu np. wskaźnik na funkcje (późne wiązanie).
Jeśli nie ograniczamy się do procedur/funkcji a np. do metod to metoda nadpisująca wirtualną może być uznana jako późne wiązanie czyli polimorfizm bo na etapie kompilacji nie musimy wiedzieć na jaką klasę zostanie rzutowany obiekt.

NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 11
0

Macie rację, po prostu ktoś powiedział mi brednie, chodziło o wartość i referencję.

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
1

Przy czym warto zaznaczyć od razu, że istnieją dwa sposoby przekazywania parametrów przez referencję:

  • ze słówkiem var - z przekazaniem wartości zmiennej do parametru,
  • ze słówkiem out - bez przekazywania wartości zmiennej.
NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 11
0

const to nie przez referencję tylko przez stałą w obiektowym pascalu, a out przez wynik, tez w obiektowym

WL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1084
0
normalizacja napisał(a):

Macie rację, po prostu ktoś powiedział mi brednie, chodziło o wartość i referencję.

Niezupełnie; binding dotyczy programowania COM (i nie mylić z portem tylko z Component Object Model) i typem Variant.
Tam rozróżniamy coś takiego jak wczesne i późne wiązanie (early i late binding), ale to nie ma nic wspólnego z przekazywaniem wartości parametru do procedury/funkcji/metody.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
0
HELP napisał:

Constant parameters may be passed to the function by value or by reference, depending on the specific compiler used. To force the compiler to pass a constant parameter by reference, you can use the [Ref] decorator with the const keyword.

The following example shows how you can specify the [Ref] decorator either before or after the const keyword:

Kopiuj

function FunctionName(const [Ref] parameter1: Class1Name; [Ref] const parameter2: Class2Name);

Kopiuj

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.