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