std::numeric_limits::traps
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> static const bool traps |
(до C++11) | |
static constexpr bool traps |
(начиная с C++11) | |
Значение
std::numeric_limits<T>::traps является true для всех арифметических типов T, которые имеют по крайней мере одно значение, которое, если оно используется в качестве аргумента арифметической операции, будет генерировать ловушке. Оригинал:
The value of
std::numeric_limits<T>::traps is true for all arithmetic types T that have at least one value that, if used as an argument to an arithmetic operation, will generate a ловушке. Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Стандартный специализации
T
|
Значение
std::numeric_limits<T>::traps Оригинал: value of std::numeric_limits<T>::traps Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| /* non-specialized */ | false
|
bool
|
false
|
char
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
signed char
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
unsigned char
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
wchar_t
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
char16_t
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
char32_t
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
short
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
unsigned short
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
int
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
unsigned int
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
long
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
unsigned long
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
long long
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
unsigned long long
|
Обычно
true Оригинал: usually true Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
float
|
Обычно
false Оригинал: usually false Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
double
|
Обычно
false Оригинал: usually false Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
long double
|
Обычно
false Оригинал: usually false Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Заметки
На большинстве платформ целочисленное деление на ноль всегда ловушки, и
std::numeric_limits<T>::traps является true для всех целых типов, которые поддерживают значение 0. Исключением является тип bool: хотя деление на false ловушки в связи с интегральным продвижения от bool в int, это нулевое значение int, что ловушки. Ноль не является значением типа bool.Оригинал:
On most platforms integer division by zero always traps, and
std::numeric_limits<T>::traps is true for all integer types that support the value 0. The exception is the type bool: even though division by false traps due to integral promotion from bool to int, it is the zero-valued int that traps. Zero is not a value of type bool.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
На большинстве платформ с плавающей точкой исключений может быть включен или выключен во время выполнения (например,
feenableexcept() на Linux или _controlfp на Windows), в этом случае значение std::numeric_limits<T>::traps для типов с плавающей запятой отражает состояние с плавающей точкой захвата объекта в Время запуска программы, которая является false на большинстве современных систем. Исключением была бы программа, DEC Alpha, где он true если скомпилирован без -ieee.Оригинал:
On most platforms, floating-point exceptions may be turned on and off at run time (e.g.
feenableexcept() on Linux or _controlfp on Windows), in which case the value of std::numeric_limits<T>::traps for floating-point types reflects the state of floating-point trapping facility at the time of program startup, which is false on most modern systems. An exception would be a DEC Alpha program, where it is true if compiled without -ieee.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
См. также
| Плавающей точкой окружающей среды | |
[static] |
определяет типы с плавающей запятой, которые обнаруживают крошечную величину перед округлением (public static константа-элемент) |
[static] |
определяет типы с плавающей запятой, которые обнаруживают потерю точности как потерю денормализации, а не неточный результат (public static константа-элемент) |