标签: c++ json generics c++11
在C ++ 11中处理泛型值的正确方法是什么,或者可以使用(void *)吗?
基本上,我正在解析json,节点值可以是String,Integer,Double,Date等。
在C中,只使用void *就可以了(不安全,但还可以),在C#中我们使用Object。但是C ++ 11中这样做的正确方法是什么?我是否必须构建一个包装类,或者是否有更简单的方法?
答案 0 :(得分:5)
您可以为各种类型创建基类,或使用"区别联盟"诸如Boost.Variant之类的类,它包含一组已知的类型,并记住它所持有的类型。