工作效率等于什么| 咳嗽可以吃什么水果| dvf是什么品牌| 福建为什么叫八闽| 诸事顺遂是什么意思| 胃疼能吃什么水果| 腹泻什么意思| 血脂高吃什么| 自强不息的息是什么意思| 孕妇吃菠萝对胎儿有什么好处| 头发少是什么原因| 感冒发烧挂什么科室| 肉桂茶适合什么人喝| 翅膀最长的鸟是什么鸟| 银925是什么意思| 桃子又什么又什么填空| 猫咪吐黄水有泡沫没有精神吃什么药| 尿ph值高是什么意思| 用什么能把牙齿洗白| 水淀粉是什么东西| 囊肿和肿瘤有什么区别| 白头发补什么维生素| 电信积分有什么用| 意味深长的意思是什么| 全身发烫但不发烧是什么原因| 勾魂是什么意思| 一卡通是什么| 心脏跳的慢吃什么好| 白内障有什么症状| 尿什么味道| 天天喝啤酒对身体有什么危害| gm是什么牌子| 四月十五日是什么日子| 振字五行属什么| 惠五行属什么| 不以为然的意思是什么| 女人为什么要穿高跟鞋| 好记性不如烂笔头是什么意思| 胃反酸水吃什么药| 星星为什么会眨眼睛| 婴儿坐飞机需要什么证件| 门头是什么意思| 受委屈是什么意思| 小螃蟹吃什么| 阴中求阳是什么意思| 脸部填充用什么填充最好| 眼睛干涩用什么眼药水| 干净的反义词是什么| 失业是什么意思| 什么是红颜知己| 小麦淀粉是什么| 为什么经常刷牙还牙黄| 脸上老是长闭口粉刺是什么原因| 多此一举是什么意思| 南红五行属什么| 高考准考证有什么用| 受精卵着床有什么感觉| poscer是什么牌子的手表| cm医学上是什么意思| 宿主是什么意思| 什么鱼蛋白质含量高| 胃疼吃什么食物最养胃| 农历七月初五是什么星座| 纯净水是什么水| 下眼睑浮肿是什么原因| 肚脐眼有什么用| mido手表什么牌子| sama是什么药| 朋友妻不可欺是什么意思| 内痔疮有什么症状| 告加鸟念什么| 乾隆是什么朝代| 为什么鞋子洗了还是臭| dolphin是什么意思| 云是什么生肖| 前置胎盘需要注意什么| 子加一笔是什么字| 骨质增生吃什么药好| 什么方法可以快速排便| 山川载不动太多悲哀是什么歌| 老年痴呆症是什么原因引起的| 山麻雀吃什么| 号召是什么意思| 除权是什么意思| 世界上最难写的字是什么字| 正月初十是什么星座| 吃什么食物补钾| 专属是什么意思| 河粉是什么材料做的| 一级法官是什么级别| 葫芦的寓意是什么| 梦到女儿死了是什么意思| 血管很明显是什么原因| 肠癌吃什么药| 心肌酶高是什么原因| 男人脚肿是什么病的前兆| 枧水是什么| 没经验开什么店最简单| 心脏做造影是什么意思| 办理身份证需要带什么| 什么动物会冬眠| 什么颜色加什么颜色等于黑色| 什么生肖晚上不睡觉| 感冒了不能吃什么食物| 眼珠发黄是什么原因| 护肝喝什么茶| 属兔适合佩戴什么饰品| 智齿前面一颗牙叫什么| 肺大泡是什么原因造成的| 界限性脑电图是什么意思| 梦见青蛙是什么意思| 你是我的楼兰是什么意思| 中指麻木是什么原因引起的| 马加其念什么| 鸡毛信是什么意思| 孩子为什么不说话| 腿抽筋吃什么药| 尿酸偏高是什么病| 胳膊上的肌肉叫什么| 花枝是什么食材| 免疫组织化学染色诊断是什么| 三轮体空什么意思| 发好人卡是什么意思| 尿生化是查什么的| 3月15号是什么星座| 不举是什么原因造成的| 饮食清淡主要吃什么| 手筋鼓起来是什么原因| 菠萝蜜什么时候成熟| 四季春属于什么茶| 双胞胎代表什么生肖| 左肾积水是什么意思| 彩色多普勒超声检查是什么| 免疫力和抵抗力有什么区别| 马非读什么| 蚝油是什么原料做的| 心腹是什么意思| 雨五行属什么| 心绞痛是什么原因| 食管有烧灼感什么原因| 嘴里发酸是什么原因| 汤力水是什么| 炖牛肉放什么佐料| 疤痕增生是什么引起的| 口腔溃疡用什么药| pB什么意思| 大同古代叫什么| 感冒吃什么水果好得快| 全麻对身体有什么危害| 睡觉总是流口水是什么原因| 猫是什么动物| 鹅喜欢吃什么草| 麦粒肿是什么| 季夏是什么意思| 反复发烧挂什么科| 急的什么| 为什么睡觉会出汗| 刀伤用什么药愈合最快| 叶五行属什么| 新房开火有什么讲究| 雷蒙欣氨麻美敏片是什么药| on是什么牌子| 绿豆可以和什么一起煮| 队友是什么意思| 龙的幸运色是什么颜色| pku是什么意思| 什么是亚麻籽| 一什么野花| nit是什么意思| 腮腺炎吃什么药| 梦见很多蛇是什么征兆| 12月20号是什么星座| 打篮球对身体有什么好处| 什么宠物好养| 脑梗有什么症状| 洗劫一空是什么意思| 发烧打什么针| 男性生殖器官叫什么| 慢阻肺是什么病| 十月十八是什么星座| 咳嗽有痰吃什么药好得最快最有效| 痛风忌吃什么| 今天是什么纪念日| 吃什么能降尿蛋白| 二月八号是什么星座| 水漫金山是什么生肖| cea升高是什么意思| 打嗝吃什么药效果好| 割包皮有什么好处| 柠檬茶喝了有什么好处| 做梦梦见猪是什么意思| 阳性是什么意思| 脑血管痉挛是什么原因引起的| 为什么不能空腹吃香蕉| 银屑病吃什么药| 尿蛋白是什么原因| 赤潮是什么意思| 羊奶和牛奶有什么区别| 龋齿挂什么科| 法国的国鸟是什么| 前列腺有什么症状| 吃西红柿有什么好处和坏处| 6541是什么药| igm是什么| 低血压是什么| 来月经小腹痛是什么原因| 1954年出生属什么| 鳞状上皮炎症反应性改变是什么意思| 已佚是什么意思| 褒义词和贬义词是什么意思| le是什么元素| 乐得什么填词语| 咳嗽头晕是什么原因| 什么是玄关| 检查淋巴挂什么科| 六一送女孩子什么礼物| 益母草什么时候喝最好| 厄运是什么意思| 淫羊藿是什么| 猪寸骨是什么部位| 头是什么意思| 炼乳是什么东西| 什么是再生纤维素纤维| 尿急是什么原因| jo是什么意思| 93年是什么命| 肝昏迷是什么症状| 环磷酰胺是什么药| 月经安全期是什么时候| 列装是什么意思| 猫为什么吃老鼠| 蚕屎有什么作用和功效| 月亮星座是什么意思| ev病毒是什么| 胎盘位于子宫后壁是什么意思| 有什么好听的歌曲| 什么网站可以看三级片| 赞字五行属什么| 什么人不宜吃石斛| 辣椒油用什么能洗掉| 天蝎座是什么星象| 换手率什么意思| 皮炎是什么| 什么药治拉肚子| 鸟是什么生肖| 亨廷顿舞蹈症是什么病| 1700年是什么朝代| 狗属于什么类动物| 肝炎吃什么药最好| 什么是树洞| cea检查是什么意思| 物流专员是做什么的| 梦见死了人是什么意思| 超声心动图是什么| pc是什么意思| 吃什么拉什么是什么原因| 脸色苍白没有血色是什么原因| 抽血血液偏黑什么原因| 鬼迷心窍是什么意思| 肾阳虚吃什么| 为什么男怕招风耳| 数字7五行属什么| 血糖高是什么原因引起| 晚上五点是什么时辰| 百度

图说龙江:初春的松花江上

百度 代表人物1:嘚瑟的二哥剧中二哥是一个靠倒腾也就是俗称的二道贩子先富起来的那批人,张嘉译从几个吃饭的姿势就诠释了作出钱的嘚瑟代表人物2:相亲的大嫂剧中为了给从劳改所出来的大哥介绍媳妇,郭家老头给老大找了个远郊媳妇,剧中这位相亲大嫂愣是通过几个眼神就把那个年代这个类型的矫情与刁演绎到极致。

In computer programming, a parameter, a.k.a. formal argument, is a variable that represents an argument, a.k.a. actual argument, a.k.a. actual parameter, to a subroutine call.[a].[1][2][3][4] A function's signature defines its parameters. A call invocation involves evaluating each argument expression of a call and associating the result with the corresponding parameter.

For example, consider subroutine def add(x, y): return x + y. Variables x and y are parameters. For call add(2, 3), the expressions 2 and 3 are arguments. For call add(a+1, b+2), the arguments are a+1 and b+2.

Parameter passing is defined by a programming language. Evaluation strategy defines the semantics for how parameters can be declared and how arguments are passed to a subroutine. Generally, with call by value, a parameter acts like a new, local variable initialized to the value of the argument. If the argument is a variable, the subroutine cannot modify the argument state because the parameter is a copy. With call by reference, which requires the argument to be a variable, the parameter is an alias of the argument.

Example

edit

The following program defines a function named SalesTax with one parameter named price; both typed double.

double SalesTax(double price)
{
  return 0.05 * price;
}

For call SalesTax(10.00), the argument 10.00 is evaluated to a double value (10) and assigned to parameter variable price. The function is executed and returns the value 0.5.

Parameters and arguments

edit

The terms parameter and argument may have different meanings in different programming languages. Sometimes they are used interchangeably, and the context is used to distinguish the meaning. The term parameter (sometimes called formal parameter) is often used to refer to the variable as found in the function declaration, while argument (sometimes called actual parameter) refers to the actual input supplied at a function call statement. For example, if one defines a function as def f(x): ..., then x is the parameter, and if it is called by a = ...; f(a) then a is the argument. A parameter is an (unbound) variable, while the argument can be a literal or variable or more complex expression involving literals and variables. In case of call by value, what is passed to the function is the value of the argument – for example, f(2) and a = 2; f(a) are equivalent calls – while in call by reference, with a variable as argument, what is passed is a reference to that variable - even though the syntax for the function call could stay the same.[5] The specification for pass-by-reference or pass-by-value would be made in the function declaration and/or definition.

Parameters appear in procedure definitions; arguments appear in procedure calls. In the function definition f(x) = x*x the variable x is a parameter; in the function call f(2) the value 2 is the argument of the function. Loosely, a parameter is a type, and an argument is an instance.

A parameter is an intrinsic property of the procedure, included in its definition. For example, in many languages, a procedure to add two supplied integers together and calculate the sum would need two parameters, one for each integer. In general, a procedure may be defined with any number of parameters, or no parameters at all. If a procedure has parameters, the part of its definition that specifies the parameters is called its parameter list.

By contrast, the arguments are the expressions[6] supplied to the procedure when it is called, usually one expression matching one of the parameters. Unlike the parameters, which form an unchanging part of the procedure's definition, the arguments may vary from call to call. Each time a procedure is called, the part of the procedure call that specifies the arguments is called the argument list.

Although parameters are also commonly referred to as arguments, arguments are sometimes thought of as the actual values or references assigned to the parameter variables when the subroutine is called at run-time. When discussing code that is calling into a subroutine, any values or references passed into the subroutine are the arguments, and the place in the code where these values or references are given is the parameter list. When discussing the code inside the subroutine definition, the variables in the subroutine's parameter list are the parameters, while the values of the parameters at runtime are the arguments. For example, in C, when dealing with threads it is common to pass in an argument of type void* and cast it to an expected type:

void ThreadFunction(void* pThreadArgument)
{
  // Naming the first parameter 'pThreadArgument' is correct, rather than
  // 'pThreadParameter'. At run time the value we use is an argument. As
  // mentioned above, reserve the term parameter for when discussing
  // subroutine definitions.
}

To better understand the difference, consider the following function written in C:

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

The function Sum has two parameters, named addend1 and addend2. It adds the values passed into the parameters, and returns the result to the subroutine's caller (using a technique automatically supplied by the C compiler).

The code which calls the Sum function might look like this:

int value1 = 40;
int value2 = 2;
int sum_value = Sum(value1, value2);

The variables value1 and value2 are initialized with values. value1 and value2 are both arguments to the sum function in this context.

At runtime, the values assigned to these variables are passed to the function Sum as arguments. In the Sum function, the parameters addend1 and addend2 are evaluated, yielding the arguments 40 and 2, respectively. The values of the arguments are added, and the result is returned to the caller, where it is assigned to the variable sum_value.

Because of the difference between parameters and arguments, it is possible to supply inappropriate arguments to a procedure. The call may supply too many or too few arguments; one or more of the arguments may be a wrong type; or arguments may be supplied in the wrong order. Any of these situations causes a mismatch between the parameter and argument lists, and the procedure will often return an unintended answer or generate a runtime error.

Alternative convention in Eiffel

edit

Within the Eiffel software development method and language, the terms argument and parameter have distinct uses established by convention. The term argument is used exclusively in reference to a routine's inputs,[7] and the term parameter is used exclusively in type parameterization for generic classes.[8]

Consider the following routine definition:

    sum (addend1: INTEGER; addend2: INTEGER): INTEGER
        do
            Result := addend1 + addend2
        end

The routine sum takes two arguments addend1 and addend2, which are called the routine's formal arguments. A call to sum specifies actual arguments, as shown below with value1 and value2.

    sum_value: INTEGER
    value1: INTEGER = 40
    value2: INTEGER = 2
                
            sum_value := sum (value1, value2)

Parameters are also thought of as either formal or actual. Formal generic parameters are used in the definition of generic classes. In the example below, the class HASH_TABLE is declared as a generic class which has two formal generic parameters, G representing data of interest and K representing the hash key for the data:

class HASH_TABLE [G, K -> HASHABLE] 
            

When a class becomes a client to HASH_TABLE, the formal generic parameters are substituted with actual generic parameters in a generic derivation. In the following attribute declaration, my_dictionary is to be used as a character string based dictionary. As such, both data and key formal generic parameters are substituted with actual generic parameters of type STRING.

    my_dictionary: HASH_TABLE [STRING, STRING]

Datatypes

edit

In strongly typed programming languages, each parameter's type must be specified in the procedure declaration. Languages using type inference attempt to discover the types automatically from the function's body and usage. Dynamically typed programming languages defer type resolution until run-time. Weakly typed languages perform little to no type resolution, relying instead on the programmer for correctness.

Some languages use a special keyword (e.g. void) to indicate that the subroutine has no parameters; in formal type theory, such functions take an empty parameter list (whose type is not void, but rather unit).

Argument passing

edit

The exact mechanism for assigning arguments to parameters, called argument passing, depends upon the evaluation strategy used for that parameter (typically call by value), which may be specified using keywords.

Default arguments

edit

Some programming languages such as Ada, C++, Clojure,[citation needed] Common Lisp,[9] Fortran 90,[10] Python, Ruby, Tcl, and Windows PowerShell[citation needed] allow for a default argument to be explicitly or implicitly given in a subroutine's declaration. This allows the caller to omit that argument when calling the subroutine. If the default argument is explicitly given, then that value is used if it is not provided by the caller. If the default argument is implicit (sometimes by using a keyword such as Optional) then the language provides a well-known value (such as null, Empty, zero, an empty string, etc.) if a value is not provided by the caller.

PowerShell example:

function doc($g = 1.21) {
    "$g gigawatts? $g gigawatts? Great Scott!"
}
PS  > doc
1.21 gigawatts? 1.21 gigawatts? Great Scott!

PS  > doc 88
88 gigawatts? 88 gigawatts? Great Scott!

Default arguments can be seen as a special case of the variable-length argument list.

Variable-length parameter lists

edit

Some languages allow subroutines to be defined to accept a variable number of arguments. For such languages, the subroutines must iterate through the list of arguments.

PowerShell example:

function marty {
    $args | foreach { "back to the year $_" }
}
PS  > marty 1985
back to the year 1985

PS  > marty 2015 1985 1955
back to the year 2015
back to the year 1985
back to the year 1955

Named parameters

edit

Some programming languages—such as Ada and Windows PowerShell—allow subroutines to have named parameters. This allows the calling code to be more self-documenting. It also provides more flexibility to the caller, often allowing the order of the arguments to be changed, or for arguments to be omitted as needed.

PowerShell example:

function jennifer($adjectiveYoung, $adjectiveOld) {
    "Young Jennifer: I'm $adjectiveYoung!"
    "Old Jennifer: I'm $adjectiveOld!"
}
PS  > jennifer 'fresh' 'experienced'
Young Jennifer: I'm fresh!
Old Jennifer: I'm experienced!

PS  > jennifer -adjectiveOld 'experienced' -adjectiveYoung 'fresh'
Young Jennifer: I'm fresh!
Old Jennifer: I'm experienced!

Multiple parameters in functional languages

edit

In lambda calculus, each function has exactly one parameter. What is thought of as functions with multiple parameters is usually represented in lambda calculus as a function which takes the first argument, and returns a function which takes the rest of the arguments; this is a transformation known as currying. Some programming languages, like ML and Haskell, follow this scheme. In these languages, every function has exactly one parameter, and what may look like the definition of a function of multiple parameters, is actually syntactic sugar for the definition of a function that returns a function, etc. Function application is left-associative in these languages as well as in lambda calculus, so what looks like an application of a function to multiple arguments is correctly evaluated as the function applied to the first argument, then the resulting function applied to the second argument, etc.

Output parameters

edit

An output parameter, also known as an out parameter or return parameter, is a parameter used for output, rather than the more usual use for input. Using call by reference parameters, or call by value parameters where the value is a reference, as output parameters is an idiom in some languages, notably C and C++,[b] while other languages have built-in support for output parameters. Languages with built-in support for output parameters include Ada[11] (see Ada subprograms), Fortran (since Fortran 90; see Fortran "intent"), various procedural extensions to SQL, such as PL/SQL (see PL/SQL functions)[12] and Transact-SQL, C#[13] and the .NET Framework,[14] Swift,[15] and the scripting language TScript (see TScript function declarations).

More precisely, one may distinguish three types of parameters or parameter modes: input parameters, output parameters, and input/output parameters; these are often denoted in, out, and in out or inout. An input argument (the argument to an input parameter) must be a value, such as an initialized variable or literal, and must not be redefined or assigned to; an output argument must be an assignable variable, but it need not be initialized, any existing value is not accessible, and must be assigned a value; and an input/output argument must be an initialized, assignable variable, and can optionally be assigned a value. The exact requirements and enforcement vary between languages – for example, in Ada 83 output parameters can only be assigned to, not read, even after assignment (this was removed in Ada 95 to remove the need for an auxiliary accumulator variable). These are analogous to the notion of a value in an expression being an r-value (has a value), an l-value (can be assigned), or an r-value/l-value (has a value and can be assigned), respectively, though these terms have specialized meanings in C.

In some cases only input and input/output are distinguished, with output being considered a specific use of input/output, and in other cases only input and output (but not input/output) are supported. The default mode varies between languages: in Fortran 90 input/output is default, while in C# and SQL extensions input is default, and in TScript each parameter is explicitly specified as input or output.

Syntactically, parameter mode is generally indicated with a keyword in the function declaration, such as void f(out int x) in C#. Conventionally output parameters are often put at the end of the parameter list to clearly distinguish them, though this is not always followed. TScript uses a different approach, where in the function declaration input parameters are listed, then output parameters, separated by a colon (:) and there is no return type to the function itself, as in this function, which computes the size of a text fragment:

TextExtent(WString text, Font font : Integer width, Integer height)

Parameter modes are a form of denotational semantics, stating the programmer's intent and allowing compilers to catch errors and apply optimizations – they do not necessarily imply operational semantics (how the parameter passing actually occurs). Notably, while input parameters can be implemented by call by value, and output and input/output parameters by call by reference – and this is a straightforward way to implement these modes in languages without built-in support – this is not always how they are implemented. This distinction is discussed in detail in the Ada '83 Rationale, which emphasizes that the parameter mode is abstracted from which parameter passing mechanism (by reference or by copy) is actually implemented.[11] For instance, while in C# input parameters (default, no keyword) are passed by value, and output and input/output parameters (out and ref) are passed by reference, in PL/SQL input parameters (IN) are passed by reference, and output and input/output parameters (OUT and IN OUT) are by default passed by value and the result copied back, but can be passed by reference by using the NOCOPY compiler hint.[16]

A syntactically similar construction to output parameters is to assign the return value to a variable with the same name as the function. This is found in Pascal and Fortran 66 and Fortran 77, as in this Pascal example:

function f(x, y: integer): integer;
begin
    f := x + y;
end;

This is semantically different in that when called, the function is simply evaluated – it is not passed a variable from the calling scope to store the output in.

The primary use of output parameters is to return multiple values from a function, while the use of input/output parameters is to modify state using parameter passing (rather than by shared environment, as in global variables). An important use of returning multiple values is to solve the semipredicate problem of returning both a value and an error status – see Semipredicate problem: Multivalued return.

For example, to return two variables from a function in C, one may write:

int width
int height;

F(x, &width, &height);

where x is an input parameter and width and height are output parameters.

A common use case in C and related languages is for exception handling, where a function places the return value in an output variable, and returns a Boolean corresponding to whether the function succeeded or not. An archetypal example is the TryParse method in .NET, especially C#, which parses a string into an integer, returning true on success and false on failure. This has the following signature:[17]

public static bool TryParse(string s, out int result)

and may be used as follows:

int result;
if (!Int32.TryParse(s, result)) {
    // exception handling
}

Similar considerations apply to returning a value of one of several possible types, where the return value can specify the type and then value is stored in one of several output variables.

Drawbacks

edit

Output parameters are often discouraged in modern programming, essentially as being awkward, confusing, and too low-level – commonplace return values are considerably easier to understand and work with.[18] Notably, output parameters involve functions with side effects (modifying the output parameter) and are semantically similar to references, which are more confusing than pure functions and values, and the distinction between output parameters and input/output parameters can be subtle. Further, since in common programming styles most parameters are simply input parameters, output parameters and input/output parameters are unusual and hence susceptible to misunderstanding.

Output and input/output parameters prevent function composition, since the output is stored in variables, rather than in the value of an expression. Thus one must initially declare a variable, and then each step of a chain of functions must be a separate statement. For example, in C++ the following function composition:

Object obj = G(y, F(x));

when written with output and input/output parameters instead becomes (for F it is an output parameter, for G an input/output parameter):

Object obj;
F(x, &obj);
G(y, &obj);

In the special case of a function with a single output or input/output parameter and no return value, function composition is possible if the output or input/output parameter (or in C/C++, its address) is also returned by the function, in which case the above becomes:

Object obj;
G(y, F(x, &obj));

Alternatives

edit

There are various alternatives to the use cases of output parameters.

For returning multiple values from a function, an alternative is to return a tuple. Syntactically this is clearer if automatic sequence unpacking and parallel assignment can be used, as in Go or Python, such as:

def f():
    return 1, 2
a, b = f()

For returning a value of one of several types, a tagged union can be used instead; the most common cases are nullable types (option types), where the return value can be null to indicate failure. For exception handling, one can return a nullable type, or raise an exception. For example, in Python one might have either:

result = parse(s)
if result is None:
    # exception handling

or, more idiomatically:

try:
    result = parse(s)
except ParseError:
    # exception handling

The micro-optimization of not requiring a local variable and copying the return when using output variables can also be applied to conventional functions and return values by sufficiently sophisticated compilers.

The usual alternative to output parameters in C and related languages is to return a single data structure containing all return values.[13] For example, given a structure encapsulating width and height, one can write:

WidthHeight width_and_height = F(x);

In object-oriented languages, instead of using input/output parameters, one can often use call by sharing, passing a reference to an object and then mutating the object, though not changing which object the variable refers to.[18]

See also

edit

Notes

edit
  1. ^ In this article, the term "subroutine" refers to any subroutine-like construct, which have different names and slightly different meanings depending on the programming language being discussed.
  2. ^ C and C++ are call by value, but if type is a reference (a C/C++ pointer or C++ reference), then setting the value of the reference can be used to produce call by reference style behavior.

References

edit
  1. ^ "Passing Information to a Method or a Constructor (Learning the Java Language > Classes and Objects)". The Java? Tutorials. Retrieved 2025-08-07. Parameters refers to the list of variables in a method declaration. Arguments are the actual values that are passed in when the method is invoked. When you invoke a method, the arguments used must match the declaration's parameters in type and order.
  2. ^ Prata, Stephen (2004). C primer plus (5th ed.). Sams. pp. 276–277. ISBN 978-0-672-32696-7.
  3. ^ "Working Draft, Standard for Programming Language C++" (PDF). Open Standards. 2025-08-07. Archived from the original (PDF) on December 14, 2005. Retrieved 1 January 2018.
  4. ^ Gordon, Aaron. "Subprograms and Parameter Passing". rowdysites.msudenver.edu/~gordona. Archived from the original on 1 January 2018. Retrieved 1 January 2018.
  5. ^ Dollard, Kathleen. "Passing Arguments by Value and by Reference (Visual Basic)". Microsoft Learn. Retrieved 2025-08-07.
  6. ^ "The GNU C Programming Tutorial". crasseux.com. Retrieved 2025-08-07.
  7. ^ Meyer, Bertrand. Object-Oriented Software Construction, 2nd Edition, Prentice Hall, 1997, p 444.
  8. ^ Meyer, p. 96.
  9. ^ "Functions". gigamonkeys.com. Retrieved 2025-08-07.
  10. ^ "optional arguments". www.netlib.org. Retrieved 2025-08-07.
  11. ^ a b 8.2 Parameter Modes, "Rationale for the Design of the Ada? Programming Language"
  12. ^ 8. PL/SQL Subprograms: Specifying Subprogram Parameter Modes
  13. ^ a b Peter Hallam. "Why does C# have both 'ref' and 'out'?". Archived from the original on 2025-08-07.
  14. ^ ParameterDirection Enumeration
  15. ^ Functions — The Swift Programming Language (Swift 4.2)
  16. ^ 8. PL/SQL Subprograms: Passing Large Data Structures with the NOCOPY Compiler Hint
  17. ^ Int32.TryParse Method (String, Int32)
  18. ^ a b CA1021: Avoid out parameters
肋骨断了是什么感觉 七年是什么婚 就让我爱你把你捧在手心里是什么歌 6月6是什么节日 1.8号是什么星座
澳大利亚的国宝是什么 嘴唇干裂是什么原因 似是而非是什么意思 鹦鹉什么时候下蛋 马齿苋煮水喝有什么功效
蓝桉什么意思 六月是什么生肖 孕妇为什么不能吃西瓜 性功能下降是什么原因 过敏性鼻炎用什么药效果最好
bonnie是什么意思 女性长期缺维d会带来什么病 谷丙转氨酶高挂什么科 神经内科和神经外科有什么区别 猫毛过敏吃什么药
肌肉劳损用什么药hcv8jop6ns7r.cn 女命比肩代表什么hcv9jop4ns0r.cn rh阳性是什么意思hcv9jop5ns8r.cn 疯癫是什么意思hcv8jop3ns8r.cn 自言自语是什么hcv9jop8ns1r.cn
经常生气会得什么病hcv8jop8ns1r.cn 减肥为什么不让吃茄子hcv8jop8ns5r.cn 容颜是什么意思hcv7jop4ns5r.cn 宫后积液是什么意思hcv8jop4ns0r.cn 10a是什么意思luyiluode.com
牵牛花什么时候开花xjhesheng.com 小学教师需要什么学历hcv7jop6ns6r.cn 万中无一什么意思kuyehao.com 心塞是什么意思hcv9jop6ns8r.cn headache什么意思hcv8jop6ns1r.cn
指甲看什么科dajiketang.com 墨菲定律是什么hcv8jop3ns9r.cn 黄痰咳嗽吃什么药adwl56.com facebook是什么意思hcv8jop3ns5r.cn 肝经湿热吃什么中成药hcv7jop5ns3r.cn
百度