C99 の fenv.h は C++11 に存在しますか? fesetround のような関数を使用する他の方法はありますか? もしかしてブースト?
gcc 4.7.2 は次のコードをコンパイルします。
#include <cfenv>
int main() {}
http://liveworkspace.org/code/ffbd8e8a24633c7e74f7bcead3b1a287
C99 の fenv.h は C++11 に存在しますか? fesetround のような関数を使用する他の方法はありますか? もしかしてブースト?
gcc 4.7.2 は次のコードをコンパイルします。
#include <cfenv>
int main() {}
http://liveworkspace.org/code/ffbd8e8a24633c7e74f7bcead3b1a287
fenv.hfromC99は に存在しC++11ますか?
はい、そうです。
参照:
26.3 The floating-point environment [cfenv]
Standard C++11 26.3.1 Header <cfenv> synopsis [cfenv.syn]
のような関数を使用する他の方法はあります
fesetround()か? もしかしてブースト?
関数はC++11 でfesetround()既に提供されています。
また、C 標準ヘッダーとの下位互換性を提供するために、C++11 にも存在します。それは以下でカバーされています: cfenvfenv.h
D.5 C standard library headers [depr.c.headers]
fenv.hまたはの使用の違いは何cfenvですか?
インクルードcfenvすると、シンボル名がstd名前空間にインポートされ、場合によってはグローバル名前空間にインポートされます。インクルードfenv.hすると、シンボル名がグローバル名前空間にインポートされ、場合によっては名前空間にインポートされstdます。
はい、そうです。cfenv正しいヘッダーのようで、C++11 で追加されたばかりです。