12.3.3.21 Invocation expressions and object creation expressions
For an invocation expression expr of the form:
primary-expression (arg1, arg2, ? argn)
or an object creation expression of the form:
new type (arg1, arg2, ? argn)
?For an invocation expression, the definite assignment state of v before
primary-expression is the
same as the state of v before expr.
?For an invocation expression, the definite assignment state of v before
arg1 is the same as the state of
v after primary-expression.
?For an object creation expression, the definite assignment state of v
before arg1 is the same as the
state of v before expr.
?For each argument argi, the definite assignment state of v after argi is
determined by the normal
expression rules, ignoring any ref or out modifiers.
?For each argument argi for any i greater than one, the definite
assignment state of v before argi is the
same as the state of v after argi-1.
?If the variable v is passed as an out argument (i.e., an argument of the
form .out v.) in any of the
arguments, then the state of v after expr is definitely assigned.
Otherwise; the state of v after expr is
the same as the state of v after argn.
--
For an invocation expression expr of the form:
primary-expression (arg1, arg2, ? argn)
or an object creation expression of the form:
new type (arg1, arg2, ? argn)
?For an invocation expression, the definite assignment state of v before
primary-expression is the
same as the state of v before expr.
?For an invocation expression, the definite assignment state of v before
arg1 is the same as the state of
v after primary-expression.
?For an object creation expression, the definite assignment state of v
before arg1 is the same as the
state of v before expr.
?For each argument argi, the definite assignment state of v after argi is
determined by the normal
expression rules, ignoring any ref or out modifiers.
?For each argument argi for any i greater than one, the definite
assignment state of v before argi is the
same as the state of v after argi-1.
?If the variable v is passed as an out argument (i.e., an argument of the
form .out v.) in any of the
arguments, then the state of v after expr is definitely assigned.
Otherwise; the state of v after expr is
the same as the state of v after argn.
--
博客围绕调用表达式和对象创建表达式展开,阐述了变量在不同表达式中的确定赋值状态。如调用表达式中,变量在主表达式前和表达式前状态相同;对象创建表达式中,变量在第一个参数前和表达式前状态相同等。

被折叠的 条评论
为什么被折叠?



