在Ada中创建派生类型是很常见的,说新的Float类型,最后一个元素是Float'Last。在定义新的Float类型时,我还没有看到有人使用Float'Safe_Large而不是属性Float'Last。在我的32位机器上,两者都
Put( Float'Image( Float'Last ));
和
Put( Float'Image( Float'Safe_large ));
返回值3.402..E38
我想知道这两个数字属性之间的区别,也许还有为什么'Safe_Large不像“Last”属性那样常用。
非常感谢...
答案 0 :(得分:2)
目前,Last
属性是为任何标量子类型定义的。现在已过时,Safe_Large
中提供GNAT作为与Ada 83兼容的实现定义属性。Ada 95 Rationale提供了有关“安全范围”讨论更改的一些见解。