繁体   English   中英

用C ++映射数据结构

[英]Map data structure in C++

我需要创建一个矢量地图。 第一个向量包含字符串列表,第二个向量包含整数ID列表。 这可能吗?

std::map<std::string, int> isThisWhatYouNeed; //?
std::map<std::vector<std::string>, std::vector<int> > orThis; //?

您可能需要查看Boost Variant(请参阅http://www.boost.org )。 然后使用:

std::map<std::string, boost::variant<std::vector<string>, std::vector<int>>>

另一方面,如果您尝试从一个向量映射到另一个向量,则可以通过在构造映射时为键类型的向量提供自定义排序谓词来实现。

如果我正确理解你的问题,你需要一个key => vector的映射,其中一个向量包含字符串,另一个向量包含其他整数?

你不能混合这样的类型。 你可以做的最接近的是创建一个key => CustomClass的映射,其中你的自定义类包含一个字符串向量和一个int向量,并且两者都被填充。

或者,如果你想要非常聪明并且可能为你创建一个大规模的调试头痛,你可以做一个地图来void *,并手动管理每个指针指向的:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM