Ada: атрибут 'last and' safe_large - PullRequest
1 голос
/ 21 июля 2010

Очень часто в Ada создается производный тип, скажем, новый тип 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.

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

1 Ответ

2 голосов
/ 22 июля 2010

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

...