脑梗有什么前兆| 什么是高脂肪食物| 肛瘘是什么原因引起的| 为什么会得脑血栓| 雪燕适合什么人吃| 无印良品属于什么档次| 什么花不用浇水| 月经结束一周后又出血是什么原因| 鸽子喜欢吃什么食物| 医学生规培是什么意思| pro是什么意思| 子弟是什么意思| hello中文是什么意思| 朱迅是什么民族| 痔疮吃什么水果好得快| 单独玉米粉能做什么| 什么水果败火| 4月3号是什么星座| 肚子不饿是什么原因| 梦见老虎是什么意思| 安字属于五行属什么| 吉祥物是什么生肖| 7月什么星座| 1月22是什么星座| 衬衫什么面料好| 睡眠不好去医院看什么科| 霉菌反复发作是什么原因| 氰化钠是什么| 睾丸潮湿吃什么药| 免疫力低吃什么药| 为什么房间有蟑螂| 三和大神什么意思| 尿液带血什么原因| 阴道炎用什么洗液| 为什么有胎记| 仙人掌有什么功效| 鸡叫是什么时辰| 白露是什么季节| 高项是什么| 什么样的操场| 撤退性出血是什么意思| 保肝降酶药首选什么药| 欢愉是什么意思| 白头发越来越多是什么原因| 肛门长期瘙痒是什么原因| 真数是什么| triangle是什么意思| 什么叫做绝对值| 全身疼是什么病| 滥情什么意思| ab和a型血生的孩子是什么血型| 18k是什么金| 红小豆和赤小豆有什么区别| 1993属什么| 做背有什么好处及作用| 腋毛上有白色附着物是什么| 膝盖酸痛什么原因| 嘌呤高会引起什么症状| 云服务是什么| 三八妇女节送老婆什么礼物好| 手心发热吃什么药最好| 吃蜂蜜有什么好处| 十二指肠炎吃什么药| 啤酒和什么不能一起吃| 大暑是什么意思| 文旦是什么| 可见一什么| 什么是个性| 吃竹笋有什么好处和坏处| 成吉思汗是什么族| 男性尿道疼痛小便刺痛吃什么药| 摩纳哥为什么这么富| 焦虑抑郁症吃什么药| 忽然心口疼是什么原因| geya是什么牌子的手表| joway是什么牌子| 阴道发热是什么原因| 什么的贝壳| crocs是什么牌子的鞋| 美国的国球是什么| 姜子牙属什么生肖| 什么是三级片| 武则天叫什么| 什么是gsp| 声带息肉有什么危害| 试管婴儿什么价格| 吃什么补铁| 白带是什么颜色| 县宣传部长是什么级别| 苯三酚注射有什么用| 指甲有白点是什么原因| 大嘴巴是什么意思| 怀孕为什么会引起甲亢| 老流鼻血是什么原因引起的| 上呼吸道感染用什么药| 大学团委书记什么级别| 治便秘什么药最好| 窥见是什么意思| 保健品是什么意思| 变应性鼻炎是什么意思| 做可乐鸡翅用什么可乐| babyface是什么意思| 艺高胆大是什么生肖| 1977年五行属什么| 牛奶能做什么美食| 家庭烧烤准备什么食材| 结婚13年是什么婚| 面部痒是什么原因| 梦见猫咪会有什么预兆| 心慌气短胸闷吃什么药| 胡人是什么民族| 踮脚有什么好处| 甲状腺球蛋白抗体高说明什么| 超声科检查什么| 牙龈疼吃什么消炎药| 泡酒用什么酒好| 压寨夫人是什么意思| 什么中药能降血压| 甘草配什么泡水喝最好| 啫啫煲为什么念jue| 牛刀割鸡是什么生肖| 1979年是什么命| 逆来顺受什么意思| 平五行属什么| 发现新大陆是什么意思| 六月份什么星座| 邓超是什么星座| 镪水池是什么| 脸颊两侧长斑是什么原因怎么调理| 三基色是什么颜色| 行长是什么级别| 灵芝泡水喝有什么好处| 细菌感染吃什么药| 夫妻分床睡意味着什么| 干咳喝什么止咳糖浆好| 牙齿发酸是什么原因| 舌头疼痛吃什么药| 打了封闭针后要注意什么事项| 真菌涂片检查是查什么| 阴干吃什么补雌激素| 施字五行属什么| 孩子嗓子有痰吃什么药| 纷纷扬扬是什么意思| sama是什么药| 津字五行属什么| 花生有什么营养| 心火旺失眠吃什么药| 双侧中耳乳突炎是什么意思| 莀字五行属什么| 亚甲炎是什么病| 虚构是什么意思| 肺动脉流的是什么血| 老梗是什么意思| 什么是放疗治疗| 格林巴利综合症是什么| 氯吡格雷治什么病| 血热吃什么药可以凉血| 亚硝酸钠是什么东西| 突破性出血是什么意思| 基佬什么意思| 清宫和无痛人流有什么区别| 耳朵里面疼用什么药| 臁疮是什么病| l是什么意思| 蓝加红是什么颜色| 载脂蛋白b高是什么原因| 今年是什么年| 千千阙歌什么意思| 拜有利主要是治疗什么| 别开生面什么意思| 吃伟哥有什么副作用| baleno是什么牌子| 正月十六是什么星座| 吃什么养肾| 胃烧灼感是什么原因引起的| 吸顶灯什么牌子的好| 农村做什么致富| 寒冷的反义词是什么| 吃茴香有什么好处和坏处| 什么爱心| 女人左下眼皮跳是什么预兆| hr过高是什么意思| 为什么会有牙结石| 什么是生命之本| 9月25日是什么星座| 咽喉干燥是什么原因| 火把节在每年农历的什么时间举行| 坐东朝西是什么意思| 火乐念什么| 卯戌相合发生什么| 体位是什么意思| 1889年属什么生肖| 医院dr检查是什么| 小气是什么意思| 驱动精灵是干什么用的| 1951年属什么生肖| 东边日出西边雨是什么生肖| 肉苁蓉有什么功能| 女生读什么技校好| sla是什么意思| 皮肤起水泡发痒是什么病| 什么全什么美| 孕妇梦见洪水是什么意思| 胆结石是什么原因导致的| 眼皮发肿是什么原因| 华在姓氏里读什么| 炖肉放什么调料| 怎么查自己五行缺什么| 555是什么烟| 脚发热是什么原因| 卵巢过度刺激综合症是什么| 邪不压正什么意思| 古驰是什么牌子| 儿童口腔溃疡吃什么药| 扑朔迷离是什么意思| 胃胀吃什么药效果最好| 诸葛亮是一个什么样的人| 嘴唇起小水泡是什么原因| 操逼是什么感觉| 出汗少的人是什么原因| 生肖羊和什么生肖相冲| 拔罐之后要注意什么| 吃什么菜| 身上长癣是什么原因引起的| 宫颈潴留性囊肿是什么| 烧心什么感觉| 什么属于轻微糖尿病| 喝酒睡不着是什么原因| 高血糖吃什么降得快| 骨癌的前兆是什么症状| 阴虚吃什么药| 纳入是什么意思| 肾囊肿是什么| 两癌筛查主要查什么| poc是什么| 眼睛痛是什么病| 叶绿素是什么| 鼻毛变白是什么原因| 异常心电图是什么意思| 黄体酮不足吃什么| 垣什么意思| 2000年是属什么生肖| 静脉曲张是什么原因| 乳腺检查挂什么科| 为什么会甲亢| 碧螺春属于什么茶| 小儿风寒感冒吃什么药最好| 92年是什么年| 红枣泡水喝有什么功效| 正常的精液是什么样的| 3.30是什么星座| 孩子半夜咳嗽是什么原因| 羊水偏少对胎儿有什么影响| 6月有什么水果| 暗网里面有什么| 女人做爱什么感觉| 脖子下面的骨头叫什么| 氧气是什么| 火耗归公是什么意思| 外痔用什么药可以消除| 皮肤黑穿什么颜色的衣服| 喉咙痒痒的吃什么药| 眉毛长痘是什么原因| 公费是什么意思| 百度

闫继红:解放思想、抢抓机遇、奋发作为、跨越发展

百度 这个真诚的愿望,已经为我们的实际行动所证明,中国决不会以牺牲别国利益为代价来发展自己,中国发展不对任何国家构成威胁,中国永远不称霸、永远不搞扩张。

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-08. 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-08. 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-08.
  6. ^ "The GNU C Programming Tutorial". crasseux.com. Retrieved 2025-08-08.
  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-08.
  10. ^ "optional arguments". www.netlib.org. Retrieved 2025-08-08.
  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-08.
  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
狐媚子是什么意思 progress什么意思 脸上长黑斑是什么原因引起的 什么叫双向情感障碍 精神萎靡是什么意思
什么是孢子粉 山竹不能和什么水果一起吃 火影忍者什么时候出的 粒字五行属什么 支气管炎能吃什么水果
moco是什么牌子 女性憋不住尿是什么原因 戊型肝炎是什么病 5.19是什么星座 桑葚什么季节成熟
脑筋急转弯什么东西越洗越脏 四肢发达是什么生肖 上房是什么意思 血糖高喝什么豆浆好 俄罗斯是什么人种
山楂泡水有什么好处hcv8jop1ns7r.cn wifi用户名是什么96micro.com 气胸吃什么药好得快hanqikai.com 什么水果对胃好hcv9jop6ns2r.cn 戒指带中指什么意思hcv8jop5ns4r.cn
虱目鱼在大陆叫什么zsyouku.com 孕期小腿抽筋什么原因hcv9jop2ns5r.cn 反酸是什么原因hcv8jop7ns7r.cn 煮羊肉放什么调料hcv8jop5ns0r.cn 呈味核苷酸二钠是什么hcv8jop5ns8r.cn
女性分泌物增多发黄是什么原因hcv7jop9ns6r.cn 月亮为什么会变成红色hcv9jop2ns7r.cn 精神小伙是什么意思beikeqingting.com 黄金有什么作用与功效hcv8jop3ns9r.cn 房颤什么意思hcv9jop2ns3r.cn
什么样的高山cj623037.com 男人不尊重你说明什么hcv9jop5ns5r.cn 可否是什么意思hcv9jop7ns4r.cn 他克莫司是什么药hcv8jop4ns2r.cn 乡和镇的区别是什么hcv8jop7ns6r.cn
百度