Этот общий формальный параметр, который вы используете, может быть предоставлен с любым «дискретным типом».Это означает, что клиент может использовать любой тип целочисленного типа или перечисление для создания экземпляра вашего универсального типа.Это также означает, что внутри процедуры доступны только операции, доступные как целым числам, так и перечислениям.
По большей части это означает, что вы можете назначать Char
s, вы можете сравнивать их и иметь доступ к любому атрибуту.доступно для "дискретных".Проверяя нашу удобную онлайновую страницу LRM на предмет языковых атрибутов (оставьте эту закладку при работе с обобщениями), ищите те, которые работают с "дискретными" или "скалярными" объектами / типами, мы видим, что этовключает в себя:
- 'first
- ' image
- 'last
- ' max
- 'min
- 'pred
- ' диапазон
- 'succ
- ' val
- 'значение
- (различное
wide_
варианты' изображенияи 'значение) - Обычные подозрения, доступные для всех объектов любого типа (например, "размер", ввод и т. д.)