На этом шаге мы рассмотрим числовые пределы.
На практике предельные значения числовых типов зависят от платформы. В стандартной библиотеке C++ они реализованы в
шаблоне numeric_limits. Числовые пределы заменяют и дополняют обычные препроцессорные константы языка С.
Впрочем, эти константы по-прежнему доступны для целочисленных типов в заголовочный файлах <climits> и
<limits.h>, а для вещественных типов - в заголовочный файлах <float> и <float.h>.
У новой концепции числовых пределов есть два достоинства; во-первых, она повышает уровень типовой безопасности, а
во-вторых, позволяет программисту писать шаблоны, которые проверяют эти пределы. Начиная с этого шага, мы начнем
знакомиться с числовыми пределами. Однако следует заметить, что всегда рекомендуется писать независимый от платформы код,
рассчитанный на минимальный гарантированный размер данных типа. Минимальные размеры для разных типов перечислены в
таблице 1.
Таблица 1. Минимальный размер базовых типов
Тип | Минимальный размер |
---|---|
char | 1 байт (8 бит) |
short int | 2 байта |
int | 2 байта |
long int | 4 байта |
float | 4 байта |
double | 8 байт |
long double | 8 байт |
На следующем шаге мы рассмотрим класс numeric_limits.