中級 › nullptrの参照外しでSegmentation faultになる原因 › パターン3
nullptrの参照外しでSegmentation faultになる原因
nullptrで初期化したポインタをそのまま参照外し(*p)して書き込もうとしたときに異常終了するバグです。
1 #include <iostream> 2 int main() { 3 int *data = nullptr; 4 ______________________ ^ 5 std::cout << *data << std::endl; 6 return 0; 7 }
Segmentation fault
空欄を埋めてコンパイル・実行を通す
nullptrを「まだ何も指していない」という意味の安全な初期値として使うのは正しいですが、使う前に必ず有効なアドレスを代入する必要があります。
次の問題