在ADA中,创建派生类型非常常见,比如新的float类型,最后一个元素是float'last。我还没有看到有人在定义新的float类型时使用float“safe-large而不是属性float”。在我的32位机器上,都是
Put( Float'Image( Float'Last ));
和
Put( Float'Image( Float'Safe_large ));
返回值3.402..e38
我想知道这两个数字属性之间的区别,也许还有为什么“safe-large”不像“last”属性那样常用。
谢谢。。。
目前, Last 属性是为任何标量子类型定义的。现在过时了, Safe_Large 可在 GNAT 作为与ADA83兼容的实现定义的属性。这个 Ada 95 Rationale 对“安全范围”讨论中的变化提供了一些见解。
Last
Safe_Large