【发布时间】:2015-01-09 14:43:34
【问题描述】:
我正在尝试找出这里最好的方法。基本上我有一个系统,我可以在其中接收外部请求,以便在我的模型中设置/获取值。问题是我的模型包含可以嵌套的 C++ 类,而请求是简单的(键、值)对。
例如:
struct Foo {
void setX(int x);
int getX() const;
struct Boo {
void setY(float y);
float getY() const;
}:
};
如果我收到一个针对给定元素 e 显示 set(y, 21) 的请求,那么我需要执行的操作将根据 foo 和 boo 是否已经存在而有所不同。必须处理每个属性的不同可能性最终会导致编写大量代码。
在重新发明轮子之前,我想知道 C++ 中是否已经有一个库或众所周知的技术允许以通用方式将此平面操作映射到 C++ 结构(可以嵌套)中的更改。
谢谢
【问题讨论】:
-
我认为不可能,如果内部和外部类都有一个成员'y'呢?
-
这是一个单独的问题...无论如何,您可以使用两个不同的键(例如 'fooY' 和 'booY')以便以独特的方式识别每个成员。
-
听起来你在寻找反思。不幸的是,反射在 C++ 中是故意最小化的。您也许可以使用指向成员函数的指针来完成某些操作,但我不想保留它。