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

C++

Xcode 10.1

方式/步调

  1. 1

    起首自界说JKeyPair对象作为map容器的键值,需要重载operator<运算符

    a2cc7cd98d1001e96126350bb70e7bec54e7979f.jpg
  2. 2

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

    43a7d933c895d14365cdc5277cf082025aaf077e.jpg
  3. 3

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

    79f0f736afc37931dce0a72de4c4b74543a9112d.jpg
  4. 4

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

    c75c10385343fbf2f2c38727bf7eca8064388fc2.jpg
  5. 5

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

    5882b2b7d0a20cf47f6cdfdb79094b36acaf9931.jpg
  6. 6

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

    bd3eb13533fa828b2a39bde7f21f4134970a5a9f.jpg
  7. 7

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

    caef76094b36acaf7cf6b6f873d98d1001e99c9b.jpg
  8. 8

    完当作点窜之后,再次运行程序,从输出的信息看,容器map的所有信息都准确输出

    1e30e924b899a901b52a7b3212950a7b0208f593.jpg
  • 发表于 2019-10-14 17:00
  • 阅读 ( 1144 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具