東方の弾幕を全てタスクシステムで再現しようとしたら
使い魔系どうすればいいんだろう
ボスやら敵やら召喚主様を覚えてなきゃいけないぞ
かと言って召喚主様がdeleteされた瞬間に使い魔が危険な領域にアクセスしそうだしなぁ
東方とタスクシステム
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
Re: 東方とタスクシステム
deleteタイミングで困るならstd::shared_ptr使えばいいじゃない。しかしなんでそんなにタスクシステムにこだわるの?
単に抽象クラスのポインタリストでいいじゃない
単に抽象クラスのポインタリストでいいじゃない
Re: 東方とタスクシステム
いや今やってるのは多分抽象クラスのポインタリストに近いことだと思うんですけどDixq (管理人) さんが書きました:deleteタイミングで困るならstd::shared_ptr使えばいいじゃない。しかしなんでそんなにタスクシステムにこだわるの?
単に抽象クラスのポインタリストでいいじゃない
shared_ptrってなんだろう…ちょっと調べてみよう
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
Re: 東方とタスクシステム
shared_ptrはJavaやC#で言うところのガベージコレクションですよ。newしっぱなしでdeleteが必要ないのです。
deleteしなくても勝手に使わなくなったら自動的に解放してくれるのでメモリリークの心配がないのです。(shared_ptrを使ったメモリリークのパターンもありますが)
C++11で標準化されましたが、その前の企画ならBoostを使うと良いでしょう。
deleteしなくても勝手に使わなくなったら自動的に解放してくれるのでメモリリークの心配がないのです。(shared_ptrを使ったメモリリークのパターンもありますが)
C++11で標準化されましたが、その前の企画ならBoostを使うと良いでしょう。
Re: 東方とタスクシステム
リソースを共有しないなら、unique_ptrの方をお勧めします。
最後に編集したユーザー Fimbul on 2016年4月09日(土) 13:56 [ 編集 1 回目 ]