gpt4 book ai didi

c++ - 如何在C++中实现不同列数据类型的数据表

转载 作者:行者123 更新时间:2023-11-30 02:40:11 25 4
gpt4 key购买 nike

我想实现一个字段可能有不同类型的数据表。一个字段可能是一个字符串 vector 。另一个字段可能是 float 的 vector 。并且字段的类型在编译时是未知的,因为我希望能够从 csv 文件构建数据表。

我如何用 C++ 实现?

最佳答案

使用 boost::variant,它可以表示一组类型中的一个:

std::vector<boost::variant<std::string, float>> values;

然后您可以将访问者应用于变体:

struct visitor_t : boost::static_visitor<> {
void operator()(std::string const& x) const {
std::cout << "got string: " << x << '\n';
}

void operator()(float x) const {
std::cout << "got float: " << x << '\n';
}
};

visitor_t visitor;
for (auto&& value : values) {
boost::apply_visitor(visitor, value);
}

Live Example!

关于c++ - 如何在C++中实现不同列数据类型的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29154673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com