7

当我研究 C++ 标准中的不同部分时(在哪里可以找到当前的 C 或 C++ 标准文档?),我想回顾一下“术语和定义”,第 1.3 节。

但是,这些术语和定义是以我无法充分理解或解释的形式提供的,并且文本中没有说明如何解释它们。

考虑标准的“术语和定义”部分中定义的第一个术语:

1.3.1 [定义参数]

争论

实际论证

实际参数

<function call expression> 括号内的逗号分隔列表中的表达式

  1. [ defns.argument] 指的是什么?
  2. actual argument行和的含义和目的是actual parameter什么?
  3. 是否<function call expression>指代不同的“术语或定义”?如果是这样,它没有在“术语和定义”部分中定义 - 为什么不呢?如果不是,它指的是什么?(注意:我不是在问“函数调用表达式”是什么意思,因为我已经知道了;相反,我是在问如何使用这个简单的示例来阅读和解释 C++ 标准的“术语和定义”部分。)
4

2 回答 2

5
  1. [ defns.argument] 指的是什么?

    [defns.argument]是节标签;它旨在用于编辑目的,因为它在章节重新编号下是不变的(例如,响应章节的插入、删除或重新排序)。它也可以用于参考标准,但章节编号(相对于标准的已发布版本)更简洁。

  2. 行实参和实参的含义和目的是什么?

    实际参数”和“实际参数”是术语“参数”的别名。您将在下面的1.3.14 [defns.parameter]中看到“形式参数”和“形式参数”是术语“参数”的别名。

    术语“实际参数”和“实际参数”仅出现在 [defns.argument] 中;“形式参数”在 8.3.5p11 中被描述为别名,“形式参数”在大约 13 个地方使用,只是使用“参数”的地方数量的一小部分。

  3. <function call expression> 是否引用不同的“术语或定义”?

    尖括号中的术语是该定义适用的上下文。例如,“参数”在“函数调用表达式”的上下文中与“类函数宏”的上下文中具有不同的含义。

于 2012-12-04T17:51:42.120 回答
3

[defns.argument] 指的是什么?

这是参考第 (1.3.1) 节的另一种方式。在标准的未来版本中它应该保持不变(除非它被删除),而编号可能会改变。

“实参”和“实参”的含义和目的是什么?

它们是您可能会看到的其他术语,意思相同。我相信旧版本的规范。在现代规范中使用了“形式论证”和“实际论证”。使用“参数”和“参数”。

是否<function call expression>指代不同的“术语或定义”?

That's the context in which "argument" has this meaning - the following sections give it different meanings in other contexts. Function call expressions are defined in 5.2.2; within such an expression, "argument" means "expression in the comma-separated list bounded by the parentheses".

于 2012-12-04T17:52:35.927 回答