【发布时间】:2010-01-25 10:29:23
【问题描述】:
我试过阅读:
http://www.boost.org/doc/libs/1_41_0/boost/variant.hpp
http://www.codeproject.com/KB/cpp/TTLTyplist.aspx
and chapter 3 of "Modern C++ Design"
但仍然不明白变体是如何实现的。任何人都可以粘贴一个简短的例子来说明如何定义类似的东西:
class Foo {
void process(Type1) { ... };
void process(Type2) { ... };
};
Variant<Type1, Type2> v;
v.somethingToSetupType1 ...;
somethingToTrigger process(Type1);
v.somethingToSetupType2 ...;
somethingToTrigger process(Type2);
谢谢!
【问题讨论】:
-
你是问如何实现变体,或者如何使用boost的实现?
-
很明显他想知道如何实现变体。
-
我想知道如何实现;不是如何使用变体。
标签: c++ templates variant typelist