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 が構造的同等性を支持する場合、上記の 3 つの質問に対する答えは何でしょうか?

4

2 に答える 2

2

このよくある質問は、 Adaなどの厳密に型指定された言語における名前の等価性構造的な等価性の違いを強調することを目的としています。参考として、Ada プログラミング/型システムおよびAda® プログラミング言語の設計の根拠を参照してください。

于 2010-07-23T11:24:40.720 に答える
1

エイダの質問にはかなりうまく答えることができます。しかし、これはエイダの質問を装った章の資料理解の質問のようです。特に、「互換性」、「名前付き同等性」、「構造的同等性」をどの程度正確に定義しているかに大きく依存します。(後者の2つにはかなり明確な意味がありますが)質問の一部は、Adaが持っていない機能に基づいた理論的なものです。その文脈がなければ、答えるのは難しいでしょう。

答えは、Ada LRMのどこにもありませんが、あなたの本のテキストにあります。この章を読んでください。そうすれば、あなたは悟りを開くはずです。

于 2010-07-23T13:03:21.160 に答える