Ada: атрибут 'last и' safe_large

в Аде очень часто создается производный тип, например новый тип Float с последним элементом Float'Last. Я еще не видел, чтобы кто-то использовал Float'Safe_Large вместо атрибута Float'Last при определении нового типа Float. На моей 32-битной машине оба

Put( Float'Image( Float'Last ));

и

Put( Float'Image( Float'Safe_large ));

верни мне значение 3.402..E38

Я хотел бы знать разницу между этими двумя числовыми атрибутами и, возможно, также, почему Safe_Large не так часто используется, как атрибут Last.

Большое спасибо...


person yCalleecharan    schedule 21.07.2010    source источник


Ответы (1)


В настоящее время атрибут Last определен для любого скалярного подтипа. Теперь устаревший Safe_Large доступен в GNAT как атрибут, определенный реализацией для совместимости с Ada 83 . Ada 95 Rationale предлагает некоторые идеи об изменении обсуждения на «Безопасный диапазон».

person trashgod    schedule 21.07.2010