如何实现可以储存一个多种类型的std::map

悠然的二货 2019-03-26 11:32:48
例如:map<int, string>在定义的时候就指定了这两种类型,我想在使用的时候再给他添加<int,float>/<string,int>这种,有什么好的实现方法或者思路吗?
...全文
2788 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2019-03-26
  • 打赏
  • 举报
回复
不要把其它语言的思路带入C++里。在C++的世界就要遵守C++的规范。
ztenv 版主 2019-03-26
  • 打赏
  • 举报
回复
试试boost::any
lin5161678 2019-03-26
  • 打赏
  • 举报
回复
没有 做不到 不可以 不行三连.jpg
starytx 2019-03-26
  • 打赏
  • 举报
回复
引用 7 楼 a785214563 的回复:
引用 5 楼 jiht594 的回复:
合到一起需要重新定义一个key。但是你想干什么啊、map是有序的、int、float、string怎么排序啊
不是说一定要用map,只是说像map一样一对一,然后又有类似std::tuple的可变参和可变类型的那种。
可以用json库,比如jsoncpp
悠然的二货 2019-03-26
  • 打赏
  • 举报
回复
引用 6 楼 starytx 的回复:
主要是对key有要求,要可排序的,对于复制的结构数据,可能需要你提供 < 操作符来实现排序规则。value的话可以使用json库,来保存任何结构的数据
用两个std::tuple然后对应起来是否可行呢?
悠然的二货 2019-03-26
  • 打赏
  • 举报
回复
引用 5 楼 jiht594 的回复:
合到一起需要重新定义一个key。但是你想干什么啊、map是有序的、int、float、string怎么排序啊
不是说一定要用map,只是说像map一样一对一,然后又有类似std::tuple的可变参和可变类型的那种。
starytx 2019-03-26
  • 打赏
  • 举报
回复
主要是对key有要求,要可排序的,对于复制的结构数据,可能需要你提供 < 操作符来实现排序规则。value的话可以使用json库,来保存任何结构的数据
jiht594 2019-03-26
  • 打赏
  • 举报
回复
合到一起需要重新定义一个key。但是你想干什么啊、map是有序的、int、float、string怎么排序啊
AlbertS 2019-03-26
  • 打赏
  • 举报
回复
同一个map对象只能添加相同的类型,不过你可以自己实现一个类,将几种可能用到的类型封装在一起,然后重载操作函数

64,677

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧