Параметр (програмування)
Параметр в програмуванні - прийнятий функцією аргумент. Термін «аргумент» має на увазі, що конкретно і якою конкретною функції було передано, а параметр - в якій якості функція застосувала це прийняте. Тобто викликає код передає аргумент в параметр, який визначений в члені специфікації функції.
- 1 Формальні і фактичні параметри
- 2 Використання параметрів
- 3 Приклади
- 4 Див. Також
- 5 Література
- 6 Посилання
Формальні і фактичні параметри
Приклад на мові Сі:
Використання параметрів
Семантика використання формальних і фактичних параметрів називається стратегією обчислення. Задана стратегія обчислення диктує, коли слід обчислювати аргументи функції (методу, операції, відносини), і які значення слід передавати. Існує досить багато різноманітних стратегій обчислення.
Примітка - використання поширеного в співтоваристві імперативного програмування терміна «передача параметра» для багатьох мов програмування є не цілком коректним - наприклад, в разі виклику в разі потреби, застосовуваного в мові Haskell, параметр може бути використаний в тілі функції, але жодного разу не переданий за все випадки її виклику, і навіть повністю виключений з результуючого машинного коду.
На практиці, модель обчислення багатьох промислових мов (Java, C #) зводиться до стратегії «виклик-прі-згадці / передача-по-засланні». Деякі старіші мови, особливо небезпечні мови, такі як C ++, поєднують кілька різних моделей виклику, включаючи екзотичні, такі як «виклик-по-посиланню-на-константу». Історично виклик за значенням і виклик на ім'я сходять до Алгол-60, створеного в кінці 1950-х років. Тільки чисті функціональні мови, такі як Clean і Haskell, використовують виклик за потребою (англ. Call-by-need), який часто ототожнюють (що також не цілком коректно) з ледачими обчисленнями.
Передача за посиланням дозволяє уникнути копіювання всієї інформації, яка описує стан об'єкта (а це може бути істотно більше ніж sizeof (int)) і є необхідною для конструктора копіювання.
Якщо функція повертає значення за посиланням (наприклад, у вигляді «return * this;»), то її виклик можна використовувати зліва від оператора присвоювання (дивись також L-вираз).
У разі, якщо передача за посиланням використовується саме як засіб збільшення швидкодії, але зміна параметра небажано, можна використовувати передачу по посиланню константного об'єкта.
Деякі мови (або їх діалекти) не підтримують передачу по посиланню, деякі навпаки - передають параметри виключно за посиланням, що породжує ризик ненавмисного зміни контексту викликає функції.
Мова Fortran має на увазі передачу параметрів виключно за посиланням:
Приклад на мові Fortran:
PROGRAM PARAMS IMPLICIT NONE INTEGER A, B, CA = 7.0 B = 9.0 C = 0.0 100 FORMAT ( 'A =', I2, ', B =', I2, ', C =', I3) WRITE (*, 100) A, B, C CALL MUL (A, B, C) WRITE (*, 100) A, B, C END PROGRAM SUBROUTINE MUL (A, B, C) INTEGER A, B, CC = A * B END SUBROUTINE
A = 7, B = 9, C = 0 A = 7, B = 9, C = 63
література
- В.В.Фаронов. 8.2.2. Параметри // 8.2. Опис підпрограми // Глава 8. Процедури і функції // Ілюстрований самовчитель по Турбо Паскалю.
Параметр (програмування) Інформація про

Параметр (програмування)
Параметр (програмування)
Параметр (програмування) що, параметр (програмування) хто, параметр (програмування) пояснення
There are excerpts from wikipedia on this article and video