0

假设我有一个具有以下定义的简单类

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
4

1 回答 1

0

我认为您可以将静态 STD::map 作为 ObjectA 类的私有成员。并且还有一个静态的 Getter 来根据键值查询这个映射。

还有一件事是在您的 CTOR 中填充此地图,这将确保您不会因为注册到此静态地图而丢失任何对象。

于 2013-05-29T11:40:44.263 回答