infこれは明らかに無限大を意味しますが、float の最大値に達したときに表示されますか?
これは実際には ObjC の一部ではありませんが、無限値を保持するときにNSNumberこれを使用します。-description
an 内の実際の値NSNumberは adoubleであり、これは C で定義されています。実際、その定義はプラットフォームに大きく依存しています。ただし、ほとんどのプラットフォームでは、IEEE-754 binary64. IEEE 754 標準では、正と負の無限大と有限値の値を持つ、アフィン拡張された実数直線が定義されています。また、有限計算が無限にオーバーフローするさまざまな方法と、コードでそれを制御する方法を正確に定義します。しかし、原則として、そうです。計算が a の最大有限値を超えると、double正の無限大になります。
nanこれは正確には何を意味し、この値はいつ表示されますか?
これも主に C と IEEE-754 に関するものであり、ObjC に関するものではありません (繰り返しますが、 の を除く-description) NSNumber。ウィキペディアには に関する良いページがありますNaNが、簡単に言えば「非数」を意味し、 のように、適切な値がなく、無限でさえない場合 (またはあまりにも多くの異なる値があいまいな場合) に使用されます0/0。
nil私はこれを知っていると思います。割り当てられていないオブジェクトのインスタンス。とにかくこのリストに属していると思いました。
nilオブジェクトのインスタンスではありません。指すインスタンスがない場合にnil使用される空のポインタです。基本的にorと同等です。(id)0(NSObject *)0
でも「割り振られていないオブジェクト」はオブジェクトじゃないし、存在しないから……そもそもそういう話に意味があるという意味でnilは、ポインターとでも言うべきか。それに。
nullこれについてはよくわかりませんが、似ていると思いますnilか?
+[NSNull null]値は、実際には存在するが何も表さないプレースホルダー オブジェクトとして使用されますNSArray。
nullまた、空のポインタを C 文字列 (たとえば ) として出力しようとすると表示される場合がありますNSLog(@"%s", 0)。しかし、これが表示されるコードは、実際には正当な C または ObjC コードではありません。
また、空のポインタを意味する と混同されることがよくnullあります。NULL
したがって、id、NSObject *、NSSomeOtherClass *などがあり、それが指すものが何もない場合は、 を使用しますnil。のような ObjC 以外の値へのポインターがあり、int *それが指すものが何もない場合は、 を使用しますNULL。空のポインタをコレクションに入れたい場合は、 を使用しますnull。