C++:有很多对象

Tor*_*mak 2 c++ class object

所以,我有一个关于C++的问题.让我们说我有一个游戏的敌人类.我希望能够(在理论上)在我的游戏中拥有无数的敌人.所以我必须有每个类的多个实例,我需要能够分别访问它们.我是否必须拥有一组具有无限量空间的敌人对象,我会使用new和delete运算符来创建和删除阵列中的敌人?然后我需要一个变量来保持敌人的数量,对吧?

Snp*_*nps 5

使用std::vector.它会根据需要自动分配更多内存.

标准库中还有其他容器可以在需要时自动分配内存,例如std::list,std::setstd::map.这些容器在特殊情况下可能更合适,但std::vector通常是最佳选择.这一切都取决于实施细节.

你可以像这样使用它:

#include <vector>

struct Enemy {
    //...
}

std::vector<Enemy> v;

Enemy e1, e2;
v.push_back(e1);
v.push_back(e2);

std::cout << "First enemy in vector: " << v[0];
Run Code Online (Sandbox Code Playgroud)