【发布时间】:2018-04-28 09:10:06
【问题描述】:
我正在尝试编写一个映射,该映射以整数作为键,然后通过标准输入提供给它的 x 数量的 int 值。这是我第一次使用地图,所以我遇到了几个问题,想知道是否有人可以帮助更好地理解我做错了什么。通常使用向量/数组可以正常工作:
int standardInput;
for (int i = 1; i<=n; i++){
cin standardInput;
array[i] = standardInput;
}
在使用地图时,我无法让它以类似方式工作:
int numberToCompare = 4;
map<int numberToCompare, int>myMap;
int standardInput;
cout << "Enter numbers: " << endl;
for (int i = 1; i <= n; i++){
cin standardInput;
myMap.insert(standardInput);
}
我仍在尝试了解键和值。我在阅读地图时所理解的方式是,与多地图不同,地图的键是唯一的。我不知道该怎么做是允许用户输入来填充地图的其余部分。我在网上看到很多示例,其中人们在代码中手动输入所有输入,执行以下操作(这与我想要完成的事情背道而驰)。
portMap_.insert(pair<string,int>("fourth", 4444));
portMap_.insert(pair<string,int>("fifth", 5555));
编辑:为了澄清以防我引起一些混乱,我试图用通过标准输入给出的数字填充地图。
【问题讨论】:
-
你能更清楚地解释你想要做什么吗?
-
@melak47 几乎只是想用 cin 给出的数字填充地图。我上面写的内容可以很好地填充数组/向量,但我不知道如何为地图做到这一点。