~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 0340ECAC2652C6C3898F25FFF3457D07__1710526680 ✰
Заголовок документа оригинал.:
✰ Parameter (computer programming) - Wikipedia ✰
Заголовок документа перевод.:
✰ Параметр (компьютерное программирование) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Parameter_(computer_programming) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/03/07/0340ecac2652c6c3898f25fff3457d07.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/03/07/0340ecac2652c6c3898f25fff3457d07__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 09:10:59 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 15 March 2024, at 21:18 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Параметр (компьютерное программирование) — Википедия Jump to content

Параметр (компьютерное программирование)

Из Википедии, бесплатной энциклопедии

В компьютерном программировании параметр , или формальный аргумент — это особый вид переменной используемый в подпрограмме для ссылки на одну из частей данных, предоставляемых в качестве входных данных в подпрограмму. [а] [1] Эти фрагменты данных представляют собой значения [2] [3] [4] аргументов ) , (часто называемых фактическими аргументами или фактическими параметрами с которыми подпрограмма будет вызвана/вызвана. Упорядоченный список параметров обычно включается в определение подпрограммы , так что при каждом вызове подпрограммы оцениваются ее аргументы для этого вызова, и результирующие значения могут быть присвоены соответствующим параметрам.

В отличие от аргумента в обычном математическом использовании, аргумент в информатике — это фактическое входное выражение, передаваемое/предоставляемое функции, процедуре или подпрограмме в операторе вызова/вызова, тогда как параметр это переменная внутри реализации подпрограммы. Например, если определить add подпрограмма как def add(x, y): return x + y, затем x, y являются параметрами, а если это называется add(2, 3), затем 2, 3это аргументы. Переменные (и их выражения) из вызывающего контекста могут быть аргументами: если подпрограмма вызывается как a = 2; b = 3; add(a, b) тогда переменные a, b это аргументы, а не ценности 2, 3. см. в разделе «Параметры и аргументы» Дополнительную информацию .

Семантика того, как могут быть объявлены параметры и как аргументы (значения) передаются параметрам подпрограмм, определяется стратегией оценки языка, а детали того, как это представлено в любой конкретной компьютерной системе, зависят от вызова. соглашение этой системы. В наиболее распространенном случае вызова по значению параметр действует внутри подпрограммы как новая локальная переменная, инициализируемая значением аргумента ( локальная (изолированная) копия аргумента, если аргумент является переменной), но в других случаях , например вызов по ссылке , на переменную аргумента, предоставленную вызывающей стороной, могут влиять действия внутри вызываемой подпрограммы.

Пример [ править ]

Следующая программа на языке программирования C определяет функцию с именем «SalesTax» и имеет один параметр с именем «цена». Тип цены — «двойной» (т.е. число двойной точности с плавающей запятой ). Тип возвращаемого значения функции также является двойным.

двойной   налог с продаж  (  двойная   цена  ) 
 { 
   возврат   0,05   *   цена  ; 
  } 

После определения функции ее можно вызвать следующим образом:

Налог с продаж  (  10.00  ); 

В этом примере функция была вызвана с аргументом 10.00. Когда это произойдет, цене будет присвоено значение 10,00, и функция начнет рассчитывать свой результат. Шаги для получения результата указаны ниже и заключены в {}. 0.05 * price указывает, что первое, что нужно сделать, это умножить 0,05 на значение цены, что дает 0,50. return означает, что функция выдаст результат 0.05 * price. Таким образом, окончательный результат (без учета возможных ошибок округления, с которыми можно столкнуться при представлении десятичных дробей в виде двоичных дробей) равен 0,50.

Параметры и аргументы [ править ]

Термины «параметр» и «аргумент» могут иметь разные значения в разных языках программирования. Иногда они используются как взаимозаменяемые, а для различения значения используется контекст. Термин параметр (иногда называемый формальным параметром ) часто используется для обозначения переменной, указанной в определении функции, тогда как аргумент (иногда называемый фактическим параметром ) относится к фактическому вводу, предоставляемому при вызове функции. Например, если определить функцию как def f(x): ..., затем x является параметром, и если он вызывается a = ...; f(a) затем aэто аргумент. Параметр — это (несвязанная) переменная, а аргумент может быть литералом , переменной или более сложным выражением, включающим литералы и переменные. В случае вызова по значению функции передается значение аргумента, например: f(2) и a = 2; f(a) являются эквивалентными вызовами – при вызове по ссылке с переменной в качестве аргумента передается ссылка на эту переменную, даже если синтаксис вызова функции может остаться прежним. [5] Спецификация передачи по ссылке или передачи по значению будет сделана в объявлении и/или определении функции.

Параметры появляются в определениях процедур; аргументы появляются при вызове процедур. В определении функции f(x) = x*xпеременная x является параметром; в вызове функции f(2)значение 2 является аргументом функции. Грубо говоря, параметр — это тип, а аргумент — это экземпляр.

Параметр — это внутреннее свойство процедуры, включенное в ее определение. Например, во многих языках процедура сложения двух предоставленных целых чисел и вычисления суммы потребует двух параметров, по одному для каждого целого числа. В общем, процедура может быть определена с любым количеством параметров или вообще без параметров. Если процедура имеет параметры, часть ее определения, в которой указаны параметры, называется списком параметров .

Напротив, аргументами являются выражения [6] передается процедуре при ее вызове, обычно это одно выражение, соответствующее одному из параметров. В отличие от параметров, которые составляют неизменную часть определения процедуры, аргументы могут меняться от вызова к вызову. Каждый раз при вызове процедуры часть вызова процедуры, определяющая аргументы, называется списком аргументов .

Хотя параметры также часто называют аргументами, иногда под аргументами понимают фактические значения или ссылки, присвоенные переменным параметра при вызове подпрограммы во время выполнения . При обсуждении кода, вызывающего подпрограмму, любые значения или ссылки, передаваемые в подпрограмму, являются аргументами, а место в коде, где передаются эти значения или ссылки, — это список параметров . При обсуждении кода внутри определения подпрограммы переменные в списке параметров подпрограммы являются параметрами, а значения параметров во время выполнения — аргументами. Например, в C при работе с потоками принято передавать аргумент типа void* и приводить его к ожидаемому типу:

void   ThreadFunction  (  void  *   pThreadArgument  ) 
 { 
   // Правильное имя первого параметра 'pThreadArgument', а не 
   // 'pThreadParameter'.   Во время выполнения значение, которое мы используем, является аргументом.   Как 
   // упоминалось выше, зарезервируйте параметр term для обсуждения 
   // определений подпрограмм. 
  } 

Чтобы лучше понять разницу, рассмотрим следующую функцию, написанную на C :

int   Sum  (  int   addend1  ,   int   addend2  ) 
 { 
   return   addend1   +   addend2  ; 
  } 

Функция Sum имеет два параметра с именами addend1 и addend2 . Она добавляет значения, переданные в параметры, и возвращает результат вызывающей стороне подпрограммы (используя метод, автоматически предоставляемый компилятором C).

Код, вызывающий функцию Sum , может выглядеть следующим образом:

целое   значение1   =   40  ; 
  целое   значение2   =   2  ; 
  int   sum_value   =   Сумма  (  значение1  ,   значение2  ); 

Переменные value1 и value2 инициализируются значениями. значение1 и значение2 являются аргументами функции суммы в этом контексте.

Во время выполнения значения, присвоенные этим переменным, передаются функции Sum в качестве аргументов. В функции Sum оцениваются параметры addend1 и addend2 , в результате чего получаются аргументы 40 и 2 соответственно. Значения аргументов суммируются, а результат возвращается вызывающей стороне, где он присваивается переменной sum_value .

Из-за разницы между параметрами и аргументами в процедуру можно передать неподходящие аргументы. Вызов может предоставить слишком много или слишком мало аргументов; один или несколько аргументов могут быть неправильного типа; или аргументы могут быть предоставлены в неправильном порядке. Любая из этих ситуаций приводит к несоответствию между списками параметров и аргументов, и процедура часто возвращает непреднамеренный ответ или генерирует ошибку во время выполнения .

Альтернативная конвенция в Эйфеле [ править ]

В методе и языке разработки программного обеспечения Eiffel термины «аргумент» и «параметр» имеют разное использование, установленное соглашением. Термин « аргумент» используется исключительно в отношении входных данных подпрограммы. [7] а термин параметр используется исключительно при параметризации типа для универсальных классов . [8]

Рассмотрим следующее стандартное определение:

    сумма   (  addend1  :   INTEGER  ;   addend2  :   INTEGER  ):   INTEGER 
         do 
             Result   :=   addend1   +   addend2 
         end 

рутина sum принимает два аргумента addend1 и addend2 подпрограммы , которые называются формальными аргументами . Звонок в sum указывает фактические аргументы , как показано ниже с помощью value1 и value2.

    sum_value  :   ЦЕЛОЕ 
     значение1  :   ЦЕЛОЕ   =   40 
     значение2  :   ЦЕЛОЕ   =   2 
                
             sum_value   :=   сумма   (  значение1  ,   значение2  ) 

Параметры также считаются либо формальными , либо фактическими . Формальные универсальные параметры используются при определении универсальных классов. В примере ниже класс HASH_TABLE объявляется как универсальный класс с двумя формальными универсальными параметрами: G представление данных, представляющих интерес, и K представляющий хеш-ключ для данных:

класс   HASH_TABLE   [  G  ,   K   ->   HASHABLE  ]  
            

Когда класс становится клиентом HASH_TABLEформальные универсальные параметры заменяются фактическими универсальными параметрами при обобщенном выводе . В следующем объявлении атрибута my_dictionaryдолжен использоваться как словарь на основе символьной строки . Таким образом, и данные, и ключевые формальные универсальные параметры заменяются фактическими универсальными параметрами типа STRING.

    мой_словарь  :   HASH_TABLE   [  STRING  ,   STRING  ] 

Типы данных [ править ]

В строго типизированных языках программирования каждого параметра тип должен быть указан в объявлении процедуры. Языки, использующие вывод типов, пытаются автоматически обнаружить типы на основе тела функции и ее использования. Динамически типизированные языки программирования откладывают разрешение типов до времени выполнения. Слабо типизированные языки практически не выполняют разрешение типов, вместо этого полагаясь на правильность программиста.

В некоторых языках используется специальное ключевое слово (например, void ), чтобы указать, что у подпрограммы нет параметров; в формальной теории типов такие функции принимают пустой список параметров (тип которого не void , а unit ).

Передача аргумента [ править ]

Точный механизм назначения аргументов параметрам, называемый передачей аргументов , зависит от стратегии оценки , используемой для этого параметра (обычно вызов по значению ), которая может быть указана с помощью ключевых слов.

Аргументы по умолчанию [ править ]

Некоторые языки программирования, такие как Ada , C++ , Clojure , [ нужна цитата ] Общий Лисп , [9] Фортран 90 , [10] Python , Ruby , Tcl и Windows PowerShell. [ нужна цитата ] разрешить явно или неявно указывать аргумент по умолчанию в объявлении подпрограммы. Это позволяет вызывающей стороне опустить этот аргумент при вызове подпрограммы. Если аргумент по умолчанию указан явно, то это значение используется, если оно не предоставлено вызывающей стороной. Если аргумент по умолчанию является неявным (иногда с использованием ключевого слова, например, «Optional» ), тогда язык предоставляет общеизвестное значение (например, null , Empty , ноль, пустую строку и т. д.), если значение не предоставлено вызывающей стороной. .

Пример PowerShell:

function   doc  (  $g   =   1  .  21  )   { 
     "$g гигаватт? $g гигаватт? Отличный Скотт!" 
  } 
PS >  док 
 1,21 гигаватт?   1,21 гигаватт?   Отличный Скотт! 

  PS >  док   88 
 88 гигаватт?   88 гигаватт?   Отличный Скотт! 

Аргументы по умолчанию можно рассматривать как особый случай списка аргументов переменной длины.

Списки параметров переменной длины [ править ]

Некоторые языки позволяют определять подпрограммы, принимающие переменное количество аргументов . Для таких языков подпрограммы должны перебирать список аргументов.

Пример PowerShell:

функция   Марти   { 
     $args   |    foreach   {   "назад в год $_"   } 
 } 
PS >  Марти   1985 
 обратно в 1985 год 

 PS >  Марти   2015   1985   1955 
 года Назад 
 в 2015 год Назад в 1985 год 
 Назад в 1955 год 

Именованные параметры [ править ]

Некоторые языки программирования, такие как Ada и Windows PowerShell , позволяют подпрограммам иметь именованные параметры . Это позволяет вызывающему коду быть более самодокументируемым . Это также обеспечивает большую гибкость для вызывающей стороны, часто позволяя изменять порядок аргументов или опускать аргументы при необходимости.

Пример PowerShell:

function   jennifer  (  $adjectiveYoung  ,   $adjectiveOld  )   { 
     "Юная Дженнифер: Я $adjectiveYoung!" 
      «Старая Дженнифер: Я $прилагательноеСтарая!» 
  } 
PS >  Дженнифер   «свежая»   «опытная» 
 Юная Дженнифер: Я свежая! 
  Старая Дженнифер: Я опытная! 

  PS >  Дженнифер   -прилагательноеСтарый   'опытный'   -прилагательноеМолодой   'свежий' 
 Юная Дженнифер: Я свежая! 
  Старая Дженнифер: Я опытная! 

Несколько параметров на функциональных языках [ править ]

В лямбда-исчислении каждая функция имеет ровно один параметр. То, что считается функцией с несколькими параметрами, обычно представляется в лямбда-исчислении как функция, которая принимает первый аргумент и возвращает функцию, которая принимает остальные аргументы; это преобразование известно как каррирование . Некоторые языки программирования, такие как ML и Haskell , следуют этой схеме. В этих языках каждая функция имеет ровно один параметр, и то, что может выглядеть как определение функции с несколькими параметрами, на самом деле является синтаксическим сахаром для определения функции, возвращающей функцию и т. д. Применение функций языках левоассоциативно . в этих языках, а также в лямбда-исчислении, поэтому то, что выглядит как применение функции к нескольким аргументам, правильно оценивается как функция, примененная к первому аргументу, затем результирующая функция, примененная ко второму аргументу и т. д.

Выходные параметры [ править ]

Выходной параметр , также известный как выходной параметр или возвращаемый параметр , — это параметр, используемый для вывода, а не для более обычного ввода. Использование параметров вызова по ссылке или параметров вызова по значению, где значением является ссылка, поскольку выходные параметры являются идиомой в некоторых языках, особенно C и C++, [б] в то время как другие языки имеют встроенную поддержку выходных параметров. Языки со встроенной поддержкой выходных параметров включают Ada. [11] (см. подпрограммы Ada ), Fortran (начиная с Fortran 90 ; см. «намерение» Fortran ), различные процедурные расширения SQL , такие как PL/SQL (см. Функции PL/SQL ). [12] и Transact-SQL , C# [13] и .NET Framework , [14] Быстрый , [15] и язык сценариев TScript (см. объявления функций TScript ).

Точнее, можно выделить три типа параметров или режимов параметров : входной параметр s , выходные параметры и входной/выходной параметр s; их часто обозначают in, out, и in out или inout. Входной аргумент (аргумент входного параметра) должен быть значением, например инициализированной переменной или литералом, и не должен переопределяться или присваиваться; выходной аргумент должен быть назначаемой переменной, но его не нужно инициализировать, любое существующее значение недоступно, и ему должно быть присвоено значение; а аргумент ввода/вывода должен быть инициализированной, назначаемой переменной, которой при необходимости может быть присвоено значение. Точные требования и порядок применения различаются в зависимости от языка — например, в Ada 83 выходные параметры могут быть только присвоены, но не прочитаны даже после присвоения (это было удалено в Ada 95 , чтобы устранить необходимость во вспомогательной переменной-аккумуляторе). Это аналогично понятию, что значение в выражении представляет собой r-значение (имеет значение), l-значение (может быть присвоено) или r-значение/l-значение (имеет значение и может быть присвоено). ), соответственно, хотя эти термины имеют специализированное значение в C.

В некоторых случаях различаются только ввод и ввод/вывод, причем вывод считается конкретным использованием ввода/вывода, а в других случаях поддерживаются только ввод и вывод (но не ввод/вывод). Режим по умолчанию варьируется в зависимости от языка: в Fortran 90 ввод/вывод является значением по умолчанию, в то время как в C# и расширениях SQL ввод является значением по умолчанию, а в TScript каждый параметр явно указывается как ввод или вывод.

Синтаксически режим параметра обычно обозначается ключевым словом в объявлении функции, например: void f(out int x)в С#. Обычно выходные параметры часто помещают в конце списка параметров, чтобы их можно было четко различать, хотя это не всегда соблюдается. TScript использует другой подход, где в объявлении функции перечислены входные параметры, затем выходные параметры, разделенные двоеточием (:), и нет возвращаемого типа самой функции, как в этой функции, которая вычисляет размер текста. фрагмент:

TextExtent  (  WString   текст  ,   шрифта   шрифт   :   целочисленная   ширина  ,   целочисленная   высота  ) 

Режимы параметров — это форма денотационной семантики , определяющая намерения программиста и позволяющая компиляторам выявлять ошибки и применять оптимизации — они не обязательно подразумевают операционную семантику (как на самом деле происходит передача параметров). Примечательно, что хотя входные параметры могут быть реализованы вызовом по значению, а выходные и входные/выходные параметры вызовом по ссылке – и это простой способ реализовать эти режимы в языках без встроенной поддержки – это не всегда так. реализовано. Это различие подробно обсуждается в Ada '83 Rationale, где подчеркивается, что режим параметра абстрагируется от того, какой механизм передачи параметров (по ссылке или путем копирования) фактически реализован. [11] Например, в C# входные параметры (по умолчанию, без ключевого слова) передаются по значению, а выходные и входные/выходные параметры ( out и ref) передаются по ссылке во входных параметрах PL/SQL ( IN) передаются по ссылке, а выходные и входные/выходные параметры ( OUT и IN OUT) по умолчанию передаются по значению, а результат копируется обратно, но их можно передать по ссылке с помощью метода NOCOPY подсказка компилятора. [16]

Синтаксически аналогичная конструкция выходных параметров заключается в присвоении возвращаемого значения переменной с тем же именем, что и у функции. Это можно найти в Паскале , Фортране 66 и Фортране 77 , как в этом примере Паскаля:

функция   f  (  x  ,   y  :   целое число  )  :   целое число  ; 
  начать 
     ж   :=   х   +   у  ; 
  конец  ; 

Это семантически отличается тем, что при вызове функция просто оценивается – ей не передается переменная из вызывающей области для сохранения выходных данных.

Используйте [ править ]

Основное использование выходных параметров — это возврат нескольких значений из функции, а использование входных/выходных параметров — изменение состояния с помощью передачи параметров (а не через общую среду, как в глобальных переменных). Важным применением возврата нескольких значений является решение полупредикатной проблемы возврата как значения, так и статуса ошибки – см. Проблема полупредиката: многозначный возврат .

Например, чтобы вернуть две переменные из функции в C, можно написать:

int   ширина 
 int   высота  ; 

  F  (  х  ,   ширина  и   высота  )  ; 

где x является входным параметром и width и height являются выходными параметрами.

Распространенным вариантом использования в C и родственных языках является обработка исключений , когда функция помещает возвращаемое значение в выходную переменную и возвращает логическое значение, соответствующее успешному выполнению функции или нет. Архетипическим примером является TryParse метод в .NET, особенно в C#, который анализирует строку в целое число и возвращает true об успехе и falseпри неудаче. Это имеет следующую подпись: [17]

public   static   bool   TryParse  (  строка   s  ,   int    результат  ) 

и может использоваться следующим образом:

int   результат  ; 
  if   (  !  Int32  .  TryParse  (  s  ,   result  ))   { 
     // обработка исключений 
 } 

Аналогичные соображения применимы к возврату значения одного из нескольких возможных типов, где возвращаемое значение может указывать тип, а затем значение сохраняется в одной из нескольких выходных переменных.

Недостатки [ править ]

Выходные параметры часто не одобряются в современном программировании, по существу, как неуклюжие, запутанные и слишком низкоуровневые — обычные возвращаемые значения значительно легче понять и с ними работать. [18] Примечательно, что выходные параметры включают функции с побочными эффектами (изменение выходного параметра) и семантически похожи на ссылки, которые более запутанны, чем чистые функции и значения, а различие между выходными параметрами и параметрами ввода/вывода может быть тонким. Кроме того, поскольку в обычных стилях программирования большинство параметров являются просто входными параметрами, выходные параметры и параметры ввода/вывода необычны и, следовательно, могут быть неправильно поняты.

Выходные и входные/выходные параметры предотвращают композицию функций , поскольку выходные данные сохраняются в переменных, а не в значении выражения. Таким образом, сначала необходимо объявить переменную, а затем каждый шаг цепочки функций должен быть отдельным оператором. Например, в C++ следующая композиция функций:

Объект   obj   =   G  (  y  ,   F  (  x  )); 

при записи с выходными и входными/выходными параметрами вместо этого становится (для F это выходной параметр, т.к. G входной/выходной параметр):

Объект   объект  ; 
  F  (  х  и   объект  )  ; 
  G  (  у  ,   &  объект  ); 

В частном случае функции с одним выходным или входным/выходным параметром и без возвращаемого значения, композиция функции возможна, если выходной или входной/выходной параметр (или в C/C++ его адрес) также возвращается функцией. в этом случае приведенное выше становится:

Объект   объект  ; 
  G  (  y  ,   F  (  x  и   obj  )  ); 

Альтернативы [ править ]

Существуют различные альтернативы вариантам использования выходных параметров.

Альтернативой возврату нескольких значений из функции является возврат кортежа . автоматическую распаковку последовательностей и параллельное присваивание Синтаксически это будет более понятно, если можно использовать , как в Go или Python, например:

def   f  (): 
     вернуть   1  ,   2 
 a  ,   b   =   f  () 

Вместо этого для возврата значения одного из нескольких типов тегированное объединение можно использовать ; наиболее распространенными случаями являются типы, допускающие значение NULL ( типы опций ), где возвращаемое значение может быть нулевым, что указывает на сбой. Для обработки исключений можно вернуть тип, допускающий значение NULL, или вызвать исключение. Например, в Python можно использовать либо:

result   =   parse  (  s  ) 
 , если   результат   равен   None  : 
     # обработка исключений 

или, более идиоматично:

try  : 
     result   =   parse  (  s  ) 
 , кроме   ParseError  : 
     # обработка исключений 

Микрооптимизация отсутствия требования к локальной переменной и копирования возвращаемого значения при использовании выходных переменных также может быть применена к обычным функциям и возвращаемым значениям с помощью достаточно сложных компиляторов.

Обычная альтернатива выходным параметрам в C и родственных языках — возврат единой структуры данных, содержащей все возвращаемые значения. [13] Например, учитывая структуру, инкапсулирующую ширину и высоту, можно написать:

WidthHeight   width_and_height   =   F  (  x  ); 

В объектно-ориентированных языках вместо использования параметров ввода/вывода часто можно использовать вызов путем совместного использования , передачи ссылки на объект и последующего изменения объекта, но без изменения того, на какой объект ссылается переменная. [18]

См. также [ править ]

Примечания [ править ]

  1. ^ В этой статье термин «подпрограмма» относится к любой конструкции, похожей на подпрограмму, которая имеет разные имена и немного разные значения в зависимости от языка программирования . обсуждаемого
  2. ^ C и C++ вызываются по значению, но если тип является ссылкой (указатель C/C++ или ссылка C++), то установка значения ссылки может использоваться для создания поведения стиля вызова по ссылке.

Ссылки [ править ]

  1. ^ «Передача информации в метод или конструктор (Изучение языка Java > Классы и объекты)» . Учебные пособия по Java™ . Проверено 9 сентября 2021 г. Параметры относятся к списку переменных в объявлении метода. Аргументы — это фактические значения, которые передаются при вызове метода. Когда вы вызываете метод, используемые аргументы должны соответствовать параметрам объявления по типу и порядку.
  2. ^ Прата, Стивен (2004). C Primer Plus (5-е изд.). Сэмс. стр. 276–277. ISBN  978-0-672-32696-7 .
  3. ^ «Рабочий проект стандарта языка программирования C++» (PDF) . www.open-std.org . Архивировано из оригинала (PDF) 14 декабря 2005 г. Проверено 1 января 2018 г.
  4. ^ Гордон, Аарон. «Подпрограммы и передача параметров» . rowdysites.msudenver.edu/~gordona . Архивировано из оригинала 1 января 2018 года . Проверено 1 января 2018 г.
  5. ^ Доллард, Кэтлин. «Передача аргументов по значению и по ссылке (Visual Basic)» . Microsoft Learn . Проверено 27 октября 2018 г.
  6. ^ «Учебник по программированию GNU C» . crasseux.com . Проверено 27 октября 2018 г.
  7. ^ Мейер, Бертран. Объектно-ориентированное создание программного обеспечения , 2-е издание, Prentice Hall, 1997, стр. 444.
  8. ^ Мейер, с. 96.
  9. ^ «Функции» . gigamonkeys.com . Проверено 2 июня 2021 г.
  10. ^ «необязательные аргументы» . www.netlib.org . Проверено 2 июня 2021 г.
  11. ^ Перейти обратно: а б 8.2 Режимы параметров , « Обоснование разработки языка программирования Ada® »
  12. ^ 8. Подпрограммы PL/SQL: указание режимов параметров подпрограммы
  13. ^ Перейти обратно: а б Питер Халлам. «Почему в C# есть и «ref», и «out»?» . Архивировано из оригинала 26 сентября 2011 г.
  14. ^ Перечисление ПараметрНаправления
  15. ^ Функции — язык программирования Swift (Swift 4.2)
  16. ^ 8. Подпрограммы PL/SQL: передача больших структур данных с помощью подсказки компилятора NOCOPY.
  17. ^ Метод Int32.TryParse (String, Int32)
  18. ^ Перейти обратно: а б CA1021: Избегайте выходных параметров
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 0340ECAC2652C6C3898F25FFF3457D07__1710526680
URL1:https://en.wikipedia.org/wiki/Parameter_(computer_programming)
Заголовок, (Title) документа по адресу, URL1:
Parameter (computer programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)