![]() |
1
4
参数具有 总是 已命名;在为方法提供值的上下文中,它们是 论据 -但是,您指定的名称是 参数 姓名。所以我可以看到它是如何混合的;p但是在上下文中,我们为编译器提供了to-name来解析 论点 ,所以“命名参数”ftw。 更具体地说:
|
![]() |
2
1
MS本身 refers to them as "named arguments" . 他们创造了语言;我会坚持他们使用的语言。 (除非有人在msdn上找到在c_上下文中引用“命名参数”的内容。 编辑: 有人做到了。使用任何你想要的地狱术语。:) |
![]() |
3
1
我已经看到它们可以互换使用,但是我喜欢在定义中使用参数,在传递的值中使用参数。例如,下面的类有一个“类型参数”:
但是下面的声明有一个“类型参数”:
引用C 4规范:
另一个引用:
C规范引用“命名参数”的唯一时间(afaiknew)是关于
更新 Marc有一个很好的观点,参数总是被命名的,但这并不意味着参数现在也可以被命名。该名称仍属于参数,并向其提供了参数。使用新的“命名参数”功能,提供参数可能有两个部分:参数本身和 参数的名称 它正在供应给。
我知道这是一派胡言,但我仍然认为这是一个正确的观点。据我所知,您将了解是使用“命名参数”还是“命名参数”。(另外,第7.5.1节仍然在瞪着我。) |
![]() |
4
0
在我个人看来,我认为7.5.1是向后的,7.5.1.1也证实了这一点,其中规定:
在调用中,命名应接受传递给它的参数的参数。
在main中,我没有向“name”参数传递任何参数,也不需要传递任何参数,因为它有一个使参数可选的默认值(参数不是可选的,因为它显然存在于sayhello函数中)。但是,我已经指定参数42应该传递给“age”参数(换句话说,我已经在调用中命名了该参数)。如果我能命名这些参数,我就可以给它们任意命名:
我看到允许“命名参数”的唯一原因是,如果我使用的API不使用方法参数的描述性名称。然后至少我可以在调用者站点命名这些参数,这样它就有意义了。但是,遗憾的是,C不允许您为参数提供任何名称,但是它允许您指定应该接受参数的参数的名称。 如果你不认为参数和参数是可互换的,而是参数是调用站点上的列表,而参数是调用方站点上的,这至少是C++如何定义的,那么这种推理是唯一有效的。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |