2013-04-21 344 views
-2

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

谢谢!

+0

只需尝试一下。你如何声明一个'int'数组?你如何声明一个“地图”? – juanchopanza 2013-04-21 10:00:04

回答

1

你可以用完全相同的方式做到这一点。假设你想映射来自std::stringint

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; 
+0

它看起来不错,但是当我尝试使用它时,代码块写入“error:'vector'不是std的成员”。不知道可能是什么问题? – 2013-04-21 10:10:09

+0

@PeterSmith #include 会有所帮助。 – 2013-04-21 10:10:35

+0

很酷,谢谢! :) – 2013-04-21 10:13:42

0

我建议你为此使用std::vector。然后,您可以轻松地创建地图的载体:

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

注意,没有必要在C++ 11 >字符之间的额外空间。

+0

谢谢,它也可以。 :) – 2013-04-21 10:14:44