1

我有一个问题: 6. Ada 支持命名等价。鉴于声明:

A: array(1..10) of integer;
B: array(1..10) of integer;

A和B兼容吗?如果我们将其声明为

A, B: array(1..10) of integer;

A和B兼容吗?另一种声明方式是

Type array10 is array(1..10) of integer;
A, B: array 10;

A和B兼容吗?如果 Ada 支持结构对等,那么上面三个问题的答案是什么?

4

2 回答 2

2

这个常见问题旨在强调强类型语言(如Ada )中名称等价结构等价之间的区别。如需参考,请参阅Ada 编程/类型系统Ada® 编程语言的设计原理

于 2010-07-23T11:24:40.720 回答
1

我们可以很好地回答 Ada 的问题。然而,这似乎是一个伪装成 Ada 问题的章节材料理解问题。特别是,很大程度上取决于他们如何准确定义“兼容”、“命名等价”和“结构等价”。(尽管后两者确实具有相当明确的含义)问题的一部分甚至是基于 Ada 没有的设施的理论。如果没有这种背景,将很难回答。

答案不是在任何地方的 Ada LRM 中,而是在你的书中。阅读本章,你应该会开悟。

于 2010-07-23T13:03:21.160 回答