0
我正在寻找从多行和多列数据表中存储信息。每列包含不同的类型(int
,double
,std::string
等),只有在运行时才能知道。在C++中boost :: variant的二维矢量
是2-d vector
的boost::variant
最好的方法,还是有更好的存储机制来完成这个?
我正在寻找从多行和多列数据表中存储信息。每列包含不同的类型(int
,double
,std::string
等),只有在运行时才能知道。在C++中boost :: variant的二维矢量
是2-d vector
的boost::variant
最好的方法,还是有更好的存储机制来完成这个?
从你的问题来看,它并不清楚你实际上在寻找什么。答案取决于多种因素:
假设你每列不同的类型,有如下类型同样为 所有行?
在编译时或只在运行时已知类型吗?
在类型的简单的情况下在编译时是已知的和是相同的所有行,为什么不干脆用一个自定义的类来表示一列或std::tuple
?
如果不同列之间的类型不同,则必须使用全能型,如boost::any
。 只有在运行时才能知道类型,这也可能是最简单的解决方案。
一个你正准备存储的例子会很有帮助。如果你的意思是存储单行,每列有多个不同的数据类型,'boost :: tuple'可能是更好的选择。 – mstrthealias 2014-08-28 18:37:51