如何使用C++创建父系统

How to create parent system with C++?

本文关键字:系统 创建 C++ 何使用      更新时间:2023-10-16

我需要知道如何通过名称或编号索引不同类型的对象(或者我可以通过特定父级中的每个项目循环的任何内容)或者有没有其他方法可以处理大量对象而不这样做。

obj1.blah = blah
obj2.blah = blah

处理C++中许多对象的标准方法是使用容器,例如 vector

#include <vector>
#include "MyObject.hpp" // contains your object type definition
int main()
{
    std::vector<MyObject> v = populate_container_with_objects();

现在您可以非常轻松地迭代它:

    for (auto & ob  : v)
    {
        do_something_useful_with(ob);
    }
}

在旧的编译器上,你不得不说:

for (std::vector<MyObject>::iterator it = v.begin(), end = v.end(); it != end; ++it)
{
    do_something_useful_with(*it);
}

使用映射,您可以创建关联数组,即通过字符串名称引用对象的不同实例。

#include <map>
class ObjectType {
public:
  void DoSomething()
  {
     std::cout << "Did somethingn";
  };
};
std::map<std::string, ObjectType> objects;
objects["object1"] =  ObjectType();
objects["object2"] =  ObjectType();
objects["object2"].DoSomething();
...
相关文章: