gpt4 book ai didi

Ada: `limited`中的 `limited interface`的作用是什么

转载 作者:行者123 更新时间:2023-12-05 02:41:13 27 4
gpt4 key购买 nike

几周前我开始学习 Ada。我知道 limited 在某些情况下声明了一个有限类型,不允许复制对象

来自 Ada Reference Manual 2012 7.5 1/2

A limited type is (a view of) a type for which copying (such as for an assignment_statement) is not allowed. A nonlimited type is a (view of a) type for which copying is allowed.

但是,由于 interface 类型本质上是抽象的,因此无法创建“接口(interface)对象”,因此无法复制。关键字 limited 在这里是多余的吗? limited interfaceinterface 有什么区别?

type Abstract_Fruit_Type is interface;
type Abstract_Fruit_Type is limited interface;

最佳答案

关键区别在于 ARM 3.9.4 12/2

A type derived from a nonlimited interface shall be nonlimited.

所以如果你想实现一个有限类型的接口(interface),那么你必须用limited关键字来标记接口(interface)。然后,您将能够使用受限或不受限的类型来实现此接口(interface)。

如果您在接口(interface)描述中省略limited关键字,那么它的所有实现都将只是非限制类型。

关于Ada: `limited`中的 `limited interface`的作用是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68187640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com