在C#中,我可以创建这样的列表来存储类类型:
List<Type> types_list = new List<Type>();
types_list.add(typeof(int));
types_list.add(typeof(Process)); //and etc
我可以在C中做同样的事情吗?
解决方法:
您可以将类型列表存储为boost MPL.
例:
#include <boost mpl stuff>
int main()
{
typedef boost::mpl::vector<char, int> types;
typedef boost::mpl::push_back<types, Process>::type newTypes;
boost::mpl::at_c<newTypes, 2>::type objectOfTypeProcess;
}
除非您知道自己在做什么,否则您实际上不应该使用该库,因此我的示例不是那么具体.无论如何,您可能需要花费一些时间来习惯于mpl.