東方とタスクシステム

アバター
夢幻ノ月夜
記事: 143
登録日時: 10年前
住所: Stens;Gate世界線

東方とタスクシステム

投稿記事 by 夢幻ノ月夜 » 9年前

東方の弾幕を全てタスクシステムで再現しようとしたら
使い魔系どうすればいいんだろう
ボスやら敵やら召喚主様を覚えてなきゃいけないぞ
かと言って召喚主様がdeleteされた瞬間に使い魔が危険な領域にアクセスしそうだしなぁ

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前

Re: 東方とタスクシステム

投稿記事 by Dixq (管理人) » 9年前

deleteタイミングで困るならstd::shared_ptr使えばいいじゃない。しかしなんでそんなにタスクシステムにこだわるの?
単に抽象クラスのポインタリストでいいじゃない

アバター
夢幻ノ月夜
記事: 143
登録日時: 10年前
住所: Stens;Gate世界線

Re: 東方とタスクシステム

投稿記事 by 夢幻ノ月夜 » 9年前

Dixq (管理人) さんが書きました:deleteタイミングで困るならstd::shared_ptr使えばいいじゃない。しかしなんでそんなにタスクシステムにこだわるの?
単に抽象クラスのポインタリストでいいじゃない
いや今やってるのは多分抽象クラスのポインタリストに近いことだと思うんですけど
shared_ptrってなんだろう…ちょっと調べてみよう

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前

Re: 東方とタスクシステム

投稿記事 by Dixq (管理人) » 9年前

shared_ptrはJavaやC#で言うところのガベージコレクションですよ。newしっぱなしでdeleteが必要ないのです。
deleteしなくても勝手に使わなくなったら自動的に解放してくれるのでメモリリークの心配がないのです。(shared_ptrを使ったメモリリークのパターンもありますが)
C++11で標準化されましたが、その前の企画ならBoostを使うと良いでしょう。

Fimbul
記事: 100
登録日時: 14年前

Re: 東方とタスクシステム

投稿記事 by Fimbul » 9年前

リソースを共有しないなら、unique_ptrの方をお勧めします。
最後に編集したユーザー Fimbul on 2016年4月09日(土) 13:56 [ 編集 1 回目 ]