4
(g ++)、NULLは__nullとして定義され、64ビットの場合は__nullは8バイトです。ここで、g ++で__nullが定義されていますか?
printf("sizeof(__null):%d, sizeof(0):%d\n", sizeof(__null), sizeof(0));
sizeof(__null):8, sizeof(0):4
ただし、__nullはどこに定義されていますか?
そのタイプを検出する方法はありますか? – wenlujon
そのタイプは文脈によって「魔法」です。それがG ++を内部として実装しなければならなかった理由です。通常の型は、正確に正しいセマンティクスを提供しません。おおまかには「ボイド*」のように機能しますが、正確には機能しません。 –