1

C99 の fenv.h は C++11 に存在しますか? fesetround のような関数を使用する他の方法はありますか? もしかしてブースト?

gcc 4.7.2 は次のコードをコンパイルします。

#include <cfenv>

int main() {}

http://liveworkspace.org/code/ffbd8e8a24633c7e74f7bcead3b1a287

4

2 に答える 2

4

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 にも存在します。それは以下でカバーされています: cfenv
fenv.h

D.5 C standard library headers [depr.c.headers]

fenv.hまたはの使用の違いは何cfenvですか?

インクルードcfenvすると、シンボル名がstd名前空間にインポートされ、場合によってはグローバル名前空間にインポートされます。インクルードfenv.hすると、シンボル名がグローバル名前空間にインポートされ、場合によっては名前空間にインポートされstdます。

于 2012-10-01T04:08:11.867 に答える
3

はい、そうです。cfenv正しいヘッダーのようで、C++11 で追加されたばかりです。

于 2012-10-01T04:06:48.263 に答える