std::feholdexcept
Определён в заголовочном файле <cfenv> | ||
|---|---|---|
int feholdexcept( std::fenv_t* envp ) | (начиная с C++11) |
Сначала сохраняет текущее окружение чисел с плавающей точкой в объект, на который указывает envp (аналогично std::fegetenv), затем сбрасывает все флаги состояния чисел с плавающей точкой и устанавливает режим без остановки: возникающие в дальнейшем исключения чисел с плавающей точкой не будут прерывать выполнение (ловиться), пока окружение чисел с плавающей точкой не будет восстановлено с помощью std::feupdateenv или std::fesetenv.
Эту функцию можно использовать в начале подпрограммы, которая должна скрыть от вызывающего кода исключения чисел с плавающей точкой, которые она может вызвать. Если требуется подавить только некоторые исключения, а об остальных сообщить, режим без остановки обычно завершается вызовом std::feupdateenv после сброса нежелательных исключений.
Параметры
| envp | - | указатель на объект типа std::fenv_t, в котором будет сохранено окружение чисел с плавающей точкой |
Возвращаемое значение
0 в случае успеха, иначе ненулевое значение.
См. также
|
(C++11) | восстанавливает окружение чисел с плавающей точкой и вызывает ранее возникшие исключения (функция) |
|
(C++11) | сохраняет или восстанавливает текущее окружение чисел с плавающей точкой (функция) |
|
(C++11) | окружение чисел с плавающей точкой по умолчанию (макрос-константа) |
Документация по C для feholdexcept |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/fenv/feholdexcept