この非常に単純なコードは、複雑な環境でワイルド ポインターが引き起こす種類の問題を示しています。
int main()
{
int *a1 = new int;
int *tmp = a1;
delete a1;
// Now, the tmp pointer is a wild pointer, it's dangerous.
int *a2 = new int;
delete tmp;
// Now, the a2 pointer may be a wild pointer.
}
問題を検出または防止する方法はありますか? ここでスマートポインターが役立ちますか?