• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    type-alias
    <cfenv>

    std::fexcept_t

    namespace std {
      using fexcept_t = implementation-defined;
    }
    

    概要

    実装が持つ浮動小数点例外の状態フラグを表す型。

    // 標準C++の浮動小数点例外を、
    // Visual C++での浮動小数点例外の形式に変換する
    #include <iostream>
    #include <cfenv>
    
    int main()
    {
      float a = 1.0f;
      float b = 0.0f;
      float result = a / b;
    
      std::fexcept_t excepts = 0;
      std::fegetexceptflag(&excepts, FE_ALL_EXCEPT);
    
      if (excepts & _SW_ZERODIVIDE)
      {
        std::cout << "zero divided" << std::endl;
      }
    }
    

    出力例

    zero divided
    

    バージョン

    言語

    • C++11

    処理系

    • Clang: 3.0
    • GCC: 4.3.0
    • ICC: ??
    • Visual C++: 2013 , 2015
      • コンパイルオプション/fp:strictまたは#pragma fenv_access (on)が必要。さもなくば、正しく動作しないおそれがある。