上級 › delete後のポインタ使用が「たまたま動いてしまう」危険性 › パターン4
delete後のポインタ使用が「たまたま動いてしまう」危険性
deleteした直後の同じポインタを使って読み書きしてしまうバグです。
1 #include <iostream> 2 int main() { 3 int *x = new int(21); 4 delete x; 5 _____________________________________ ^ 6 return 0; 7 }
出力: 実行のたびに変わりうる無関係な値(クラッシュはしない)危険性: 未定義動作。たまたま動いているだけ
空欄を埋めてコンパイル・実行を通す
delete後のポインタを読む行そのものを削除するのが最も確実な直し方です。
次の問題