2011-02-10 10 views
2

NULLは.net nullptrと等価であり、0は.net nullptrと等価ではないと聞きました。どうして?私はNULLが0に等しいマクロだと思いましたか?ポインタと.netポインタ

+0

@Codyがあります。 NullptrはC++/CLI言語のキーワードで、C++ 0xよりずっと前です。 –

+0

@ハンス:ああ、決して気にしないでください。 –

答えて

1

私は、アンマネージドポインタやマネージハンドルについて話しているかどうかによって決まります。ポインタに関して、ドキュメントの引用here
次のサンプルは、nullptrとゼロがネイティブの ポインタで互換的に使用できることを示しています。

あなたが管理ハンドルの話をしている場合は、同じページからこの引用で説明したようにしかし、あなたは0を使用することはできません。
あなたがゼロにハンドルを初期化することはできません。 nullptrだけが使用できます。オブジェクトハンドルに定数0を代入すると、ボックス化されたInt32とObject ^へのキャストが生成されます。

+0

したがって、NULLと0の間に違いはありませんか? –

+0

@lital:あなたがC++について話していると仮定すると、いいえ。 –