Ada:属性'last'和safe_large

时间:2010-07-21 19:58:12

标签: attributes numbers ada

在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”属性那样常用。

非常感谢...

1 个答案:

答案 0 :(得分:2)

目前,Last属性是为任何标量子类型定义的。现在已过时,Safe_Large中提供GNAT作为与Ada 83兼容的实现定义属性。Ada 95 Rationale提供了有关“安全范围”讨论更改的一些见解。