C++ 将信息从文件中拉入地图并需要覆盖重复的值?

C++ 将信息从文件中拉入地图并需要覆盖重复的值?,c++,map,C++,Map,嗨,我有一个家庭作业,除了最后一个要求外,都做完了。我们从一个txt文件中提取数据,有几个票房值是0。我们将返回0的最后一个实例,而不是返回0的第一个实例。下面是一段代码: long long worldBoxOffice = movie.getWorldBoxOffice(); movieMap.insert(pair<long long, Movie>(worldBoxOffice, movie)); long-long-worldBoxOffice=movie.getWorl

嗨,我有一个家庭作业,除了最后一个要求外,都做完了。我们从一个txt文件中提取数据,有几个票房值是0。我们将返回0的最后一个实例,而不是返回0的第一个实例。下面是一段代码:

long long worldBoxOffice = movie.getWorldBoxOffice();
movieMap.insert(pair<long long, Movie>(worldBoxOffice, movie));
long-long-worldBoxOffice=movie.getWorldBoxOffice();
电影地图。插入(配对(worldBoxOffice,电影));
那么在把这对插入地图之后,我应该做什么呢?是否会重载[]运算符?有点困惑,所以感谢您的帮助。我没有发布更多的代码,因为我不是在寻找代码,只是在正确的方向上推动如何去做。谢谢


注意:我们必须使用映射,不允许使用多映射等。

也许我有点误解,但如果您只是在读取数据时使用
操作符[]
来指定映射,您将得到最后一个读取的
0
实例,如下面这个简单的示例:

#include <iostream>
#include <map>

int main()
{
   std::map<int,int>
    m ;

    m[0] = 1 ;

    std::cout << m[0] << std::endl ;

    m[1] = 2 ;

    m[0] = 3 ;

    std::cout << m[0] << std::endl ;
}
#包括
#包括
int main()
{
标准::地图
M
m[0]=1;

std::cout也许我有点误解,但如果在读取数据时只使用
操作符[]
来分配映射,则最终将得到读取的最后一个
0
实例,如下面这个简单的示例:

#include <iostream>
#include <map>

int main()
{
   std::map<int,int>
    m ;

    m[0] = 1 ;

    std::cout << m[0] << std::endl ;

    m[1] = 2 ;

    m[0] = 3 ;

    std::cout << m[0] << std::endl ;
}
#包括
#包括
int main()
{
标准::地图
M
m[0]=1;
std::cout作为
插入
现有密钥,您首先不应该使用它。在这样一次(无效)插入之后,任何东西都不会收回您的数据

您可以使用
[]
操作符:
movieMap[worldBoxOffice]=movie;
或按相反顺序进行插入-向后读取文件。

作为
插入现有密钥,您首先不应该使用它。这样一次(无效)插入之后,任何东西都不会收回您的数据


您可以使用
[]
操作符:
movieMap[worldBoxOffice]=movie;
或按相反顺序进行插入-向后读取文件。

是的,但
插入
@aib的情况并非如此,我建议只使用
[]
但它可能读得不清楚,让我来调整是的,但
插入的情况并非如此。@aib我建议只使用
[]
,但它可能读得不清楚,让我来调整