当我研究C ++标准(Where do I find the current C or C++ standard documents?)中的不同部分时,我想回顾一下“术语和定义”,§1.3。
但是,术语和定义是以我无法充分理解或解释的形式提供的,文中没有解释如何解释它们。
考虑标准的“术语和定义”部分中定义的第一个术语:
1.3.1 [ defns.argument ]
参数
实际论点
实际参数
<函数调用表达式>逗号分隔列表中的表达式 括号括起来
defns.argument
]指的是什么?actual argument
和actual parameter
?<function call expression>
是否引用了不同的“术语或定义”?如果是这样,它在“术语和定义”部分中没有定义 - 为什么不呢?如果没有,它指的是什么? (注意:我不是在问“函数调用表达式”是什么意思,因为我已经知道了;相反,我想知道如何使用这个简单的例子来阅读和解释C ++标准的“术语和定义”部分。)答案 0 :(得分:5)
[
defns.argument
]引用什么?
[defns.argument]
是部分标记;它旨在用于编辑目的,因为它在章节重新编号下是不变的(例如,响应插入,删除或重新排序部分)。它也可用于参考标准,但章节编号(相对于标准的已发布版本)更简洁。
线实际参数和实际参数的含义和目的是什么?
“实际参数”和“实际参数”是术语“ 参数 ”的别名。您将在 1.3.14 [defns.parameter] 下面看到“形式参数”和“形式参数”是术语“的别名”的 参数 强>”。
术语“实际参数”和“实际参数”仅出现在[defns.argument]中; “形式参数”在8.3.5p11中被描述为别名,“形式参数”在大约13个地方使用,是使用“参数”的地方数量的一小部分。
&lt; function call expression&gt;请参考不同的“术语或定义”?
角度括号内的术语是此定义适用的上下文。例如,“参数”在“函数调用表达式”的上下文中具有不同的含义,在“函数式宏的上下文中 EM>”
答案 1 :(得分:3)
[defns.argument]指的是什么?
这是参考(1.3.1)部分的另一种方式。它应该在标准的未来版本中保持不变(除非它被删除),而编号可能会改变。
“实际参数”和“实际参数”的含义和目的是什么?
他们是您可能会看到的其他术语,这意味着同样的事情。我相信旧版本的规格。使用“正式论证”和“实际论证”所在的现代规范。使用“参数”和“参数”。
<function call expression>
是否引用了不同的“术语或定义”?
这就是“论证”具有这种含义的背景 - 以下各节在其他背景下给出了不同的含义。函数调用表达式在5.2.2中定义;在这样的表达式中,“参数”意味着“以括号括起来的逗号分隔列表中的表达式”。