今天在使用c++的Map函数时遇到了一个很奇怪的问题困扰了我将近一天的时间。具体的问题是这样的:我建立了一个变量名称为Mapmonth的Map变量如下:
一个begmonth记录前面月份一个endmonth记录后面的月份,后续只有这里对Mapmonth进行了处理:
没有对Mapmonth[endmonth]进行任何自增或改变的处理,只有判断两者是否相等的处理。但是结果是:当endmonth和begmonth相等时Mapmonth[endmonth]和Mapmonth[begmonth]两者会同时自增。两者不相等时Mapmonth[endmonth]便不做任何处理,只有Mapmonth[begmonth]会自增(也就是代码所写的)。
解决方法:
看了很多遍代码,逻辑上依旧没有找出问题,我便思考会不会是Map容器的一些问题,于是我便又重新复制了一份Mapmonth的代码改了变量名给endmonth。问题得以解决。如下:此处为唯一涉及到Mapmonth[endmonth]的代码(已经改为MMapmonth[endmonth])
不知道有无大佬可以解释一下问题所在。本人初学小白,望大佬指导。