gpt4 book ai didi

c++ - 我将如何在 C++ 中初始化一个映射数组?

转载 作者:行者123 更新时间:2023-11-28 04:18:11 26 4
gpt4 key购买 nike

我正在尝试用 C++ 初始化一个映射数组,但遇到了问题。

我希望数组的每个元素都包含一个整数(键)和一个字符串(值)对,所以我认为 map 数组是个好主意,但我无法弄清楚如何初始化。

map <int, string> * myArray; 

有效,但以下无效:

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

我不确定为什么。

我一直没能找到这方面的引用资料,因为我热衷于在我的代码中使用数组,而不是 Vector,后者的文档要详细得多。非常感谢任何指导。

最佳答案

您发布的代码很好,应该可以编译。

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

默认情况下在堆上构造 10 个映射,但您在问题中说过您希望 ARRAY 的每个元素都包含一个键和一个值。请注意, map 不是数组,它们的实现和用法非常不同。

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

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

关于c++ - 我将如何在 C++ 中初始化一个映射数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56094327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com