Ada中的数据类型和结构

Jam*_*ate 2 ada

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

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

Sim*_*ght 6

我假设"数据结构"是指链表,堆栈,队列等.

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

在Ada95中也是如此,但新的面向对象编程功能产生了几个开源容器库,其中许多仍然可用.

Ada05版本的一部分是引入了标准化的容器库Ada.Containers,该库已在Ada12版本中进行了扩展.


fly*_*lyx 6

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

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