C ++中boost :: variant的二维向量

时间:2014-08-28 18:31:16

标签: c++ boost-variant 2d-vector

我希望从包含多行和多列的数据表中存储信息。每列都包含不同的类型(intdoublestd::string等),这些类型只能在运行时知道。

vector boost::variant的最佳方式,还是有更好的存储机制来实现这一目标?

1 个答案:

答案 0 :(得分:2)

从你的问题来看,目前尚不清楚你在寻找什么。答案取决于各种因素:

  • 假设每列有不同的类型,则类型相同 所有行?

  • 在编译时或仅在运行时知道类型吗?

在编译时已知类型且所有行都相同的最简单的情况下,为什么不简单地使用自定义类来表示列或std::tuple

如果不同列之间的类型不同,则必须使用无所不能的类型,例如boost::any。 如果仅在运行时知道类型,这也可能是最简单的解决方案。