C++:有很多对象

标签 c++ class object

那么,我有一个关于 C++ 的问题。假设我有一个游戏敌人类。我希望能够(理论上)在我的游戏中拥有无限数量的敌人。所以我必须有每个类的多个实例,并且我需要能够分别访问它们。我是否必须有一个敌人对象数组,数组的空间量不受限制,并且我会使用 new 和 delete 运算符来创建和删除数组中的敌人?那么我需要一个变量来保存敌人的数量,对吧?

最佳答案

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

标准库中还有其他容器会在需要时自动分配内存,例如 std::liststd::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];

关于C++:有很多对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16178152/

相关文章:

python - 使用 Python 将值插入到 json 文件中的特定位置

c++ - OpenNI: "Open failed: Device is in safe mode. Cannot start any stream!"

c++ - 使用 For 循环填充 Makefile 变量

python - 如何打印一个可以包含自身的类

ruby - 在类的实例上动态调用方法(用户动态指定实例名称)

当所有类实例超出范围时,Java 重置私有(private)静态成员

javascript - 在 Javascript 中创建和引用对象数组

C++ reverse_iterator 备选方案

c++ - 在 C++ 中使用 fstream 创建和读取/写入文件

javascript - 哪个更好的Javascript对象模式