Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas wywoływania procedury zazwyczaj przekazujesz jej jeden lub więcej argumentów. Każdy argument odpowiada bazowemu elementowi programowania. Zarówno podstawowe elementy, jak i same argumenty mogą być modyfikowalne lub niemodyfikowalne.
Elementy modyfikowalne i niemodyfikowalne
Elementem programowania może być element modyfikowalny, który może mieć zmienioną wartość lub element niemodyfikowalny, który ma stałą wartość po jego utworzeniu.
W poniższej tabeli wymieniono modyfikowalne i niemodyfikowalne elementy programowania.
Elementy modyfikowalne | Elementy niezmodyfikowalne |
---|---|
Zmienne lokalne (deklarowane wewnątrz procedur), w tym zmienne obiektowe, z wyjątkiem tych tylko do odczytu. | Zmienne, pola i właściwości tylko do odczytu |
Pola (zmienne składowe modułów, klas i struktur), z wyjątkiem tych tylko do odczytu | Stałe i literały |
Właściwości, z wyjątkiem tych tylko do odczytu | Elementy wyliczenia |
Elementy tablicy | Wyrażenia (nawet jeśli ich elementy są modyfikowalne) |
Argumenty modyfikowalne i niezmodyfikowalne
Modyfikowalny argument to taki, który ma modyfikowalny element bazowy. Kod wywołujący może przechowywać nową wartość w dowolnym momencie, a jeśli przekażesz argument ByRef, kod w procedurze może również zmodyfikować element źródłowy w kodzie wywołującym.
Argument niemodyfikowalny ma niemodyfikowalny element bazowy lub jest przekazywany przez funkcję ByVal. Procedura nie może zmodyfikować podstawowego elementu w kodzie wywołującym, nawet jeśli jest to element modyfikowalny. Jeśli jest to element niemodyfikowalny, sam kod wywołujący nie może go modyfikować.
Wywołana procedura może zmodyfikować jego lokalną kopię argumentu niemodyfikowalnego, ale ta modyfikacja nie ma wpływu na podstawowy element w kodzie wywołującym.
Zobacz także
- Procedury
- Parametry i argumenty procedury
- Instrukcje: przekazywanie argumentów do procedury
- Przekazywanie argumentów przez wartość i przez referencję
- Różnice między przekazywaniem argumentu według wartości a odwołaniem
- Instrukcje: zmienianie wartości argumentu procedury
- Instrukcje: ochrona argumentu procedury przed zmianami wartości
- Jak wymusić przekazanie argumentu przez wartość
- Przekazywanie argumentów według pozycji i według nazwy
- typy wartości i typy referencyjne