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函数的时候可以参考一下,别再走弯路。

  • 相关阅读:
    每日一练leetcode
    每日一练leetcode
    每日一练 leetcode
    每日一练leetcode
    每日一练leetcode
    leetcode每日一练
    BigDecimal类 定义及用法
    每日一练leetcode
    每日一练leetcode
    字符串表达式校验&求值(C#实现) 附代码
  • 原文地址:https://www.cnblogs.com/fengju/p/6174358.html
Copyright © 2011-2022 走看看