【发布时间】:2013-05-29 09:23:05
【问题描述】:
假设我有一个具有以下定义的简单类
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
【问题讨论】:
-
这一切都取决于所创建对象的存储方式——您可以使用对象的名称作为 std::map 中的键,或者使用 std::list 并使用 std::find_if 搜索列表.