【发布时间】:2018-06-11 23:50:42
【问题描述】:
我试图了解 Ada 中有哪些歧视性记录,但无法在网上找到明确、准确的答案。
例如是什么使它成为有区别的记录:
type Discriminated_Record (Size : Natural) is
record
A : String (1 .. Size);
end record;
【问题讨论】:
-
您可以在 Ada 中看到一条区分记录作为 C/C++ 中的 union。它只是意味着通过给定的参数,您从该记录中选择字段(在 C 中,您将执行类似
stVar.a或stVar.b的操作,其中stVar是具有a和b的联合结构是其可能具有不同类型或布局的字段)。