zoukankan      html  css  js  c++  java
  • stl里list的sort()用法

      最近要做个按时间排序的东西,首先就想到了list里的sort函数。能用内置函数的尽量用内置函数,安全可靠。在用的过程中出现了几个问题,在这里总结一下。直接贴代码了,这我自己写的一个测试程序。vs2008里编译通过,这里要排序自己的类型,就写个小于号的重载。出现了这几个问题:

       1.GetObj()那个函数开始没有申明定义为const结果在重载小于号函数里总是报错,错误大概说不能将非const的指针转为const指针。后面在好友的提醒下恍然大悟。我传递的是一个const引用,当然只能调用const的函数了。看来前面对const的总结还是不够。

       2.第2个问题就是我编译运行后发现结果不对,有兴趣的同学可以看看。为什么不对呢,就是list<Obj*> lstObj这个不对。我想这是由于list内部的list不是申明为指针的,后来改list<obj>就对了。

       下面是第一版的代码,排序是不对的。

       再看第2版经过改进的。

     

       这下结果就对了,以后在用到其他stl函数的时候可以参考一下,别再走弯路。

  • 相关阅读:
    anaconda版本与python版本对应关系查询网址
    非官方windows二进制Python拓展包
    vscode每次打开文件,出现git弹窗,login i revparse showtoplevel,打印revparse:no such file or directory
    Python 官方文档
    转:Oracle EBS借贷关系
    中文分词的简要实现
    Thinkpad为什么是Thinkpad
    中文分词的应用——网站热点分析
    Blog工具:Zoundry blog writer and GreatNews RSS reader
    SpringBoot校验请求Json参数
  • 原文地址:https://www.cnblogs.com/fengju/p/6174358.html
Copyright © 2011-2022 走看看