9

C++ の nullptr は C# の null と同じですか?

Google や Stackflow で誰もこの質問をしていないようです。

4

3 に答える 3

13

一般に、はい、どちらもnull値をポインタのような型に割り当てます

  • C#: クラス、インターフェイス、デリゲート、またはポインター型
  • C++: ポインター型またはメンバーへのポインター型

どちらの言語でも数値に変換されません。ただし、1 つの違いは、C++ ではnullptrに変換できることboolです。これは C# には当てはまりません

于 2014-03-21T05:31:11.393 に答える
5

はい。C++ では、Java、C#、およびその他のさまざまな言語とnullptr同等です。nullC++11 より前は、標準で使用NULLされていました (これは 0 として定義されたマクロでした)。ただし、nullptr実際にはポインターのコンテキストでのみ使用できることが保証されます (一方、 は 0 として定義されているため、直観に反するポインターの代わりにNULLを返す関数の戻り値としても使用できます)。intただし、nullptrNULLは暗黙のうちに に変換可能boolです。

于 2014-03-21T05:31:58.447 に答える
0

Yes, it is the same. It is the invalid pointer.

于 2014-03-21T05:30:35.963 に答える