派生クラスの動的確保をやめたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
霜焼け

派生クラスの動的確保をやめたい

#1

投稿記事 by 霜焼け » 14年前

シューティングゲームをC++で製作しています。
今、敵の基本クラスから各雑魚敵をそれぞれ派生クラスで作ったところです。
敵は下記のようにlistで管理するつもりなのですが、どうも効率よく書けません。

//Enemy:敵の基本クラス
//EnemyA,B:敵の派生クラス

std::list<Enemy *> enemylist;
enemylist.push_back( new EnemyA() );
enemylist.push_back( new EnemyB() );

一応希望通り動くのですが、敵クラスを動的確保するのは重くなるのでなるべくしたくありません。
しかし他の方法が思いつかないので、良い方法を教えてください。
また、このアホ丸出しの件名もどうにかしたいですが……。

よろしくお願いします。

アバター
nullptr
記事: 239
登録日時: 14年前

Re: 派生クラスの動的確保をやめたい

#2

投稿記事 by nullptr » 14年前

弾ならともかく敵は動的確保でもいい気はしますが・・・気になるなら動的確保の回数を減らす工夫をするとかでも十分じゃないでしょうかね。
どうしても動的確保はしたくないのなら配置newなりなんなりでアロケータを実装すればいいと思います。
 
 
✜ で C ご ✜
: す + 注 :
¦ か + 文 ¦
?
Is the は :
order C++? ✜
     糸冬   
  ――――――――
  制作・著作 NHK
 
 

霜焼け

Re: 派生クラスの動的確保をやめたい

#3

投稿記事 by 霜焼け » 14年前

なるほど、アロケータですか。
今調べてきたのですが、これなら何とかなりそうです。
どちらにしろ敵も弾も同じ処理を考えていたので助かりました。
ありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る