4

我正在写一篇关于 Ada 83 的论文。我们有一项作业列出了论文的各个部分(历史、设计目标、​​语法等),讲师提到我们中的一些人将有一些部分简单地说“此语言不支持此功能。”

其中两个部分是数据类型和数据结构。好吧,我所看到的一切都表明 Ada 只有数据类型,没有数据结构。这是真的还是我错过了什么?我知道这是一个奇怪的问题(询问 1983 年版的 Ada),但我不想做出如此大的声明,而只是发现它是错误的。

4

2 回答 2

7

我假设“数据结构”是指链表、堆栈、队列等。

在 Ada83 中,您可以实现数据结构,但标准库不包含任何数据结构。非标准库可用。

在 Ada95 中也是如此,但新的面向对象编程特性导致了几个开源容器库,其中许多仍然可用。

Ada05 修订版的一部分是引入了标准化容器库Ada.Containers,该库已在 Ada12 修订版中得到扩展。

于 2012-10-27T08:40:52.287 回答
6

很多东西都可以称为数据结构。至于 Ada,记录和数组将是语言支持的数据结构。包也是一种数据结构。Ada 2005 Ada.Containers(如 Simon 所述)是标准库的一部分,而不是语言本身的一部分(您的定义可能会有所不同;它们在 LRM中定义)。

堆栈、散列映射、链表等复杂的数据结构通常是语言标准库的特性,但在某些脚本语言中,其中一些(特别是散列映射)实际上是语言特性。

于 2012-10-27T12:24:54.097 回答