我将如何初始化C 中的一系列地图

How would I initialize an array of Maps in C++?

本文关键字:一系列 地图 初始化      更新时间:2023-10-16

我正在尝试初始化C 中的一系列地图,并且遇到麻烦。

我希望数组的每个元素都包含一个整数(键(和字符串(值(,所以我认为一系列地图是一个好主意,但是我很难弄清楚弄清楚如何初始化。

map <int, string> * myArray; 

有效,但以下内容不起作用:

myArray = new map <int, string> [10];

我不确定为什么。

我无法找到有关此的引用,因为我热衷于在代码中使用数组,而不是矢量,该数组的文献已得到充分记录。会感谢任何指导。

您发布的代码很好并且应该编译。

map <int, string> * myArray = new map<int, string>[10];

此默认值在堆上构造了10幅地图,但是您在一个问题中说,您希望数组的每个元素都保留一个键和值。请注意,地图不是阵列,它们的实现和用法却大不相同。

我认为您可能正在寻找的东西是

pair<int, string>* myArray = new pair<int, string>[10];
// or alternatively
vector<pair<int, string>> myArray(10);