C++ 类 ins:使用 map 存储和管理对象 | 代码示例
#include "iostream"\n#include "map"\n#include "string"\n\nclass ins {\npublic:\n ins(const std::string& n) : name(n) {\n // 在构造函数中将自己上传到ins_map\n ins_map[name] = this;\n }\n\n void run() {\n std::cout << "Running " << name << std::endl;\n }\n\n static std::map<std::string, ins*> ins_map; // 储存ins对象的map\n\nprivate:\n std::string name;\n};\n\nstd::map<std::string, ins*> ins::ins_map; // 初始化ins_map\n\nint main() {\n ins i1("Object 1");\n ins i2("Object 2");\n\n i1.run();\n i2.run();\n\n // 使用ins_map遍历并执行所有ins对象的run函数\n for (const auto& pair : ins::ins_map) {\n pair.second->run();\n }\n\n return 0;\n}\n\n在上述示例中,我们定义了一个名为ins的类,其中包含一个std::string类型的成员变量name和一个成员函数run。构造函数用于初始化name变量,并将自己上传到ins_map中。ins_map是一个静态成员变量,用于存储所有ins对象的指针,以便后续的访问和操作。在main函数中,我们创建了两个ins对象,并演示了如何使用ins_map来遍历并执行所有ins对象的run函数。
原文地址: https://www.cveoy.top/t/topic/pZa7 著作权归作者所有。请勿转载和采集!