我对 Ada 程序中的初始化很好奇:假设我有以下程序:
procedure Foo (Bar : Integer) is
Another_Bar : Integer := Bar;
begin
...
end Foo;
Run Code Online (Sandbox Code Playgroud)
分配是否应该Another_Bar具有相同的开销
procedure Foo2 (Bar : Integer) is
Another_Bar : Integer;
begin
Another_Bar := Bar;
...
end Foo;
Run Code Online (Sandbox Code Playgroud)
我的问题本质上是两个分配是否生成相同的汇编指令,因此速度相同?(没有详细说明目标机器)
根据 Adaic 的说法,Ada 中的接口被定义为“没有组件和具体操作的标记类型”。它可以用于多重继承。相反,抽象类型是一种标记类型,旨在用作其他类型的祖先,但不允许拥有自己的对象。
两者的本质区别仅仅是接口的多重继承特性吗?否则这些类型可以互换使用吗?