次のようなポインターがあるとします。
int *thingy;
ある時点で、このコードが呼び出される場合と呼び出されない場合があります。
thingy=new int;
これができるかどうかを知るにはどうすればよいですか:
delete thingy;
すべてのポインターにaを使用し、を使用するたびにbool
bool をマークすることもできますが、多くのポインターがあり、非常に扱いにくくなります。true
new
new
を呼び出していない場合、それをthingy
呼び出すとdelete
クラッシュする可能性がありますよね?
かなり検索しましたが、明らかに自分の状況に合う答えが見つかりませんでした。
編集:delete
ポインターが必ずしもデータを指していなくても、何度でもポインターを使用できるようにする必要があります。これが不可能な場合は、コードを書き直す必要があります。