【问题标题】:Store maps in array C++将地图存储在数组 C++ 中
【发布时间】:2013-04-21 09:57:48
【问题描述】:

是否可以将地图存储在数组中?你能帮我怎么做吗? 很明显,我可以存储例如 int,但我不知道如何使用地图来做到这一点。

谢谢!

【问题讨论】:

  • 试试吧。如何声明int 的数组?你如何声明map

标签: c++ arrays map


【解决方案1】:

你可以用完全相同的方式来做。假设你想从std::string 映射到int

std::map<std::string, int> array[10];

这将为您提供包含 10 个这些地图的数组。您可能更喜欢使用封装数组的std::array 容器:

std::array<std::map<std::string, int>, 10> array;

或者,如果您希望能够添加地图以动态调整数组大小,您可以使用std::vector

std::vector<std::map<std::string, int>> array;

【讨论】:

  • 看起来不错,但是当我尝试使用它时,codeblocks 会写“错误:'vector' 不是 std 的成员”。不知道可能是什么问题?
  • @PeterSmith #include 会有所帮助。
【解决方案2】:

我建议您为此使用std::vector。然后,您可以轻松地创建地图矢量:

std::vector<std::map<std::string, int> > maps; 

请注意,在 C++11 中,&gt; 字符之间不需要额外的空格。

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 2015-12-23
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2014-05-10
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多