C++ 将信息从文件中拉入地图并需要覆盖重复的值?
嗨,我有一个家庭作业,除了最后一个要求外,都做完了。我们从一个txt文件中提取数据,有几个票房值是0。我们将返回0的最后一个实例,而不是返回0的第一个实例。下面是一段代码: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
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我建议只使用[]
,但它可能读得不清楚,让我来调整