Ada:“类型访问”是什么意思?

时间:2018-05-06 20:05:59

标签: ada

我从我的任务中看到了这段代码:

procedure Refs is
   type Node is
      record
         Content : Integer;
         Name    : Character;
      end record;

   type XNode is access Node;

   type NodeArray is array (Positive range 1 .. 5) of XNode;

[...]

即使在阅读了文档,wiki等之后,我似乎也无法理解它(甚至可以向我的祖母解释)。

有人可以用简单的术语解释访问关键字的含义吗?

1 个答案:

答案 0 :(得分:4)

我对Ada一无所知,但谢天谢地,回答只有3秒的Google搜索:XNodeNode访问类型访问类型是一种类型,它允许访问另一种类型的动态分配值。

换句话说,它是一个指针。但是不要将它与指针的C概念混淆。 Ada指针是指针安全和内存安全的,你不能,例如,它添加1并让它指向一个不同的内存,或让它指向一些随机地址并声称“这个内存是现在是Node“(又名类型转换)。

它更像是Java,ECMAScript,Python或Ruby中的对象引用