>>66
俺の書き方悪かったな
オブジェクトといってもオブジェクト風なだけで実装は構造体でやってるよ
struct Enemy enemys[10000];
Enemy* last = enemys; // 使用中の最後の位置
で、新しく作るときは
Enemy* new = last++;
new->position = ...
消すときは*old = *(last--);
イテレータ風に
Enemy* itr = enemys;
while (itr < last) ..., itr++;

同じ構造体で多態性持たせたいなら関数ポインタ持たせてもいいな