NULLは.netnullptrと同等であり、0は.netnullptrと同等ではないと聞きました。なぜ?NULLは0に等しいマクロだと思いましたか?
1 に答える
1
アンマネージ ポインターとマネージ ハンドルのどちらについて話しているかによって異なります。ポインターに関しては、こちらのドキュメントからの引用:
次のサンプルは、ネイティブ ポインターで nullptr とゼロを同じ意味で使用できることを示しています。
ただし、管理されたハンドルについて話している場合は、同じページからのこの引用で説明されているように 0 を使用することは
できません。ハンドルをゼロに初期化することはできません。nullptr のみ使用できます。オブジェクト ハンドルに定数 0 を代入すると、ボックス化された Int32 と Object^ へのキャストが生成されます。
于 2011-02-10T07:10:42.010 に答える