假设我有一个简单的类,其定义如下
class objectA {
public:
objectA() {} objectA(std::string aName, int aValue) : name(aName), value(aValue) {}
std::string name;
int value;
}
我们定义了两个对象
objectA A("myObjectA", 1);
objectA B("myObjectB", 2);
如何在编译时访问通过键查找(例如
)访问其中一个对象get("myObjectA")
也许还可以在之后设置值
get("myObjectA")->setValue("3") //sets the int value new
答案 0 :(得分:0)
我认为你可以将静态STD :: map作为ObjectA类的私有成员。并且还有一个静态Getter来根据键值查询此映射。
还有一件事在你的CTOR中填充这个地图,这将确保你不会丢失任何对象来注册这个静态地图。