2010 |
05,23 |
«4日»
2回deleteはデバッグエラーになりますよね。
しかしそのポインタがnewされているかどうかがわからないけども
deleteしたい場合というのは有ると思うのですが
newとdeleteは対となっているべき等と
よく言われています。
上の例の場合、
それをやろうとするなら
-*- -*-
if(pointer == 0)
{
//ポインタが0ならdeleteしない
}
else
{
delete pointer ;
pointer = 0 ;
}
-*- -*-
こんな構造をマクロか何かで
指定することになると思います。
newとdeleteは対となっているべき
という考え方からすれば、これは悪手な感じがするのですが
どうなんでしょう。
-*- -*-
書いた5分後くらいに
「shared_ptrを使えば全て解決する」
ということに気付いてしまいました…。
しかしそのポインタがnewされているかどうかがわからないけども
deleteしたい場合というのは有ると思うのですが
newとdeleteは対となっているべき等と
よく言われています。
上の例の場合、
それをやろうとするなら
-*- -*-
if(pointer == 0)
{
//ポインタが0ならdeleteしない
}
else
{
delete pointer ;
pointer = 0 ;
}
-*- -*-
こんな構造をマクロか何かで
指定することになると思います。
newとdeleteは対となっているべき
という考え方からすれば、これは悪手な感じがするのですが
どうなんでしょう。
-*- -*-
書いた5分後くらいに
「shared_ptrを使えば全て解決する」
ということに気付いてしまいました…。
PR
Post your Comment
カレンダー
リンク
カテゴリー
プロフィール
HN:
粘土男
性別:
男性
自己紹介:
レッドストーン、ルシエルブルー、
アラド戦記、ラテール、エルソード、
ファンタジーアースゼロ、などを
せこせことやっております。
プログラミングは、修練中です。
twitter:@rosukaruklame
アラド戦記、ラテール、エルソード、
ファンタジーアースゼロ、などを
せこせことやっております。
プログラミングは、修練中です。
twitter:@rosukaruklame