2016-08-26 9 views
-2

さまざまなプログラミング言語のNULL特殊値またはポインタに関する知識を共有するためにこのトピックを開始しました。このトピックの他のプログラミング言語への参照を自由に追加してください。 Javaでは異なるプログラミング言語でNULL

+0

このようなリファレンスをコンパイルしようとしていると本当に感心しますが、このサイトのゲームショー "Jeopardy!"のように、質問の形でポストをフレームすることが期待されます。あなたがここで大きな答えを得ていることを考えれば、(1)この現在の質問を削除してください。それは近いかもしれないので、(2)2番目の質問に "どのようにnullポインタ異なる言語で表現されていますか? (明示的な質問)、あなたの答えを再投稿し、(3)私はそれを読むことができるように私にping! :-) – templatetypedef

+0

私は質問ではないので、この質問をトピックとして閉じるよう投票しています。これは質問と回答のサイトです。回答が投稿される前に、回答する質問が必要です。代わりに、[Documentation](http://stackoverflow.com/documentation)に適しています。 –

+1

実際に、私はケンホワイトの考えをこの文書の作成が本当に好きです。 – templatetypedef

答えて

0

特別null type、名前がない表現ヌル(§3.10.7§15.8.1)、のタイプがあります

null型には名前がないため、null型の変数を宣言したり、null型にキャストすることはできません。

null参照は、null型の式の唯一可能な値です。

ヌル参照は、常に任意の参照型に割り当てまたはキャストできます。

実際には、プログラマはnull型を無視して、単にnullが任意の参照型であることができる特殊なリテラルであるとふりまとめることができます。

Nullリテラル

ヌル型は、ASCII文字から形成されるヌルリテラルヌルで表される一つの値、ヌル参照を有します。

nullリテラルは常にヌルタイプ(§4.1)です。

プログラム内のすべての変数は、その値が使用される前に値を持たなければなりません。 各クラス変数、インスタンス変数、または配列コンポーネントは、作成時にデフォルト値で初期化されます。

すべての参照型(§4.3)では、デフォルト値はnullです。

整数または浮動小数点式xは、0以外の値がtrueであるC言語の規則に従い、x!= 0という式で、boolean valueに変換できます。

オブジェクト参照objは、obj!= nullという式によって、null以外の参照がすべて真であるというC言語規約に従って、ブール値に変換できます。 PHPで


特別NULL値が値を持たない変数を表しています。ヌル型の唯一の可能な値はNULLです。それは定数NULLが割り当てられている

:場合

変数はヌルであると考えられています。

まだ設定されていません。

未設定です。booleanへの変換は、以下の値がFALSEであると考えられる

(未設定変数を含む)特別な型NULL Pythonで


The Null Object - このオブジェクトが返されます明示的に値を返さない関数によって呼び出されます。特別な操作をサポートしていません。厳密に1つのnullオブジェクトがあり、None(組み込みの名前)という名前が付けられています。

Noneと書かれています。以下の値がfalse考えられる

:Cで

なし


:Cで

、任意のタイプの2つのヌルポインタは等しいとすることが保証されます。 NULLマクロは、実装定義のヌルポインタ定数として定義されています。これは、C99では暗黙的または明示的にタイプvoid*に変換された整数値0として移植可能に表現できます。 C++で


:C++で

NULLマクロはCから継承しながら、ゼロのための整数リテラルは、伝統的にヌルポインタ定数を表すために好まれています。 C#の


nullキーワードがnull参照、任意のオブジェクトを参照しないものを表すリテラルです。 nullは参照型変数のデフォルト値です。通常の値型はnullにはできません。しかし、C#2.0はnullable value typesを導入しました。 Rubyで


NilClass

シングルトンオブジェクトゼロのクラス。

+0

C++にnullptrキーワードが追加されました。このキーワードはタイプセーフです。その型は 'std :: nullptr_t'であり、Javaのnull型と同様に動作します。お役に立てれば! – templatetypedef

関連する問題