07/07/22 13:51:23
静的な変数がビット表現 0 の値ではなくヌルポインタで初期化されるというのは、
C++ ならこんな形で確認できる。
#include <iostream>
using namespace std;
int main() {
class A;
static int A::*p;
static int A::*null = 0;
cout << (int&)p << endl;
cout << (int&)null << endl;
}
p と null はメンバ変数へのポインタってやつなんだが、
こいつのヌルポインタのビット表現は大抵の環境で 0 にはならない。
上のコードを実行すると、p と null とで 0 でない同じ値が出力されると思う。