Boost :: Variant或Boost :: Any而不是序列化

时间:2017-05-25 06:31:01

标签: c++ boost variant

当我需要将不同类型的结构从底部组件传递到更高组件(通过更多)时,我遇到了这种情况。界面应该是通用的,例如一种方法'通知'或类似的,我需要使用类型A,B,C和D. 例如:

notify(A());
notify(b);
notify(otherObject->getC());
notify(d);

可能会有更多的对象类型,所以我不想超载'通知'对于每种类型的通知对象。

我想我可以在底部组件中使用某种序列化机制,然后在较高组件中反序列化该对象。但是,它会花费一些性能。 怎么样的提升Variant?与“'通知”中的对象一起方法我可以发送指定对象类型的枚举,以便更高的组件知道变体中的类型并能够解压缩它。

你怎么看?

或者有更好的方法吗?

0 个答案:

没有答案