gpt4 book ai didi

C++ boost : Simple nested dictionary?

转载 作者:行者123 更新时间:2023-11-30 04:07:42 30 4
gpt4 key购买 nike

用字符串键和字符串/整数/字典值实现嵌套字典的最简单方法是什么?

到目前为止我尝试的是一个奇怪的:
boost::fusion::map<std::string, boost:variant<std::string, int, boost::fusion::map<std::string, boost:variant<std::string, int>>>>

这看起来深度为 2,而且看起来肯定行不通。即使可以,我也对如何使用它感到困惑。

有什么想法吗?

最佳答案

你可以这样定义它,

template<int N> struct my_map {
typedef boost::variant<int, std::string, typename my_map<N-1>::type> value_type;
typedef std::map<std::string, value_type> type;
};
template<> struct my_map<1> {
typedef boost::variant<int, std::string> value_type;
typedef std::map<std::string, value_type> type;
};

可能用 boost::fusion::map 替换 std::map,但也许你最好使用更简单的设计,使用(智能)指针当您需要终止时,链式条目变为 nullptr

关于C++ boost : Simple nested dictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22265142/

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