2

isnanはintを返しますnonzero value if arg is NaN, ​0​ otherwise...。なぜブール値を返さないのですか?これはレガシーなものではなく、C++11の新機能です。

4

2 に答える 2

6

これ、名前空間に配置された<cmath>C 標準ライブラリであるにあります。C にはネイティブ型がありません。1<math.h>stdbool

これらが C++11 の追加であることは事実ですが、基本的に<math.h>は C99 で追加されたものを取り込んでいます。


1. 文句を言いたい人のために言っておくと、C99boolは実際にはマクロです。がありますが_Bool、C99 の作成者はそれを使用しないことを選択したと思いisnan ます。の他のものとの一貫性を保つため<math.h>

于 2012-07-13T19:38:58.537 に答える