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

  • 相关阅读:
    JAVA不可变类(immutable)机制与String的不可变性
    如何高效学习
    [细品java]ThreadLocal源码学习
    Spring 入门知识点笔记整理
    spring远程服务知识梳理
    Spring Security 入门详解
    Selenium 安装 geckdriver Firefox 对应关系 历史版本下载
    Redhat linux 下 Jmeter 非GUI界面执行压力测试
    Spring Boot 进程守护 修改启动端口号 Spring Boot 监听端口被占用无法启动
    Redhat Linux 部署maven环境
  • 原文地址:https://www.cnblogs.com/fengju/p/6174358.html
Copyright © 2011-2022 走看看