如何解决自定义键值的map数据被覆盖

C++
Xcode 10.1方式/
1起首自界说JKeyPair对象作为map容器的键值 , 需要重载operator<运算符

如何解决自定义键值的map数据被覆盖

文章插图

2完当作JKeyPair的界说后 , 接实在现JKeyPair对象的具体内容

如何解决自定义键值的map数据被覆盖

文章插图

3然后验证结果 , 先界说std::map容器 , 键值为自界说对象JKeyPair , 值为std::string字符串 , 然后往map容器存放数据

如何解决自定义键值的map数据被覆盖

文章插图

4最后运行输出的map容器的信息如下所示 , 所有的内容都正常打印出来

如何解决自定义键值的map数据被覆盖

文章插图

5这时辰 , 我们把map容器中第三个当作员中的键值的index点窜当作与第二个当作员中的键值的index一样 , 即从3点窜当作2

如何解决自定义键值的map数据被覆盖

文章插图

6从输出的成果看 , map容器只输出两个当作员 , 而且第二个当作员中的值被笼盖

如何解决自定义键值的map数据被覆盖

文章插图

7解决map中数据被笼盖 , 那么需要点窜自界说对象JKeyPair中的函数operator<,添加如下红色方框标示的内容

如何解决自定义键值的map数据被覆盖

文章插图

8【如何解决自定义键值的map数据被覆盖】完当作点窜之后 , 再次运行程序 , 从输出的信息看 , 容器map的所有信息都准确输出

如何解决自定义键值的map数据被覆盖

文章插图


以上内容就是如何解决自定义键值的map数据被覆盖的内容啦 , 希望对你有所帮助哦!

    推荐阅读