zoukankan      html  css  js  c++  java
  • 小试牛刀

      今天,第一次写博客,也希望自己能坚持下去!

      交流&&学习!

    1.c++父类和子类

    碰到的问题:虚父类(接口父类)调用子类对象,但是函数是子类自己定义的,开始以为父类能拿个调用的。

    解释:

      只有父类定义了接口(实函数或者虚函数,子类覆盖了或者重载了),父类才能够调用,这个以后在研究。之前看过父类和子类结构的构造,里面有函数指针的概念,希望下次能够从这里分析清楚,也重新学习一下这里的概念。

    2. 一个效率问题的验证

    问题:

      计算当前时间和之前某个时间点是不是不在同一个月?进行判断

    void func_calc2(time_t tCurrent, int nDays)
    {
      time_t tStart = 1268604000;//2010-3-15
    
      bool bRet;
    
      time_t tPassed = tStart + nDays * 86400;
      time_t tDiff = tStart - tPassed;
      if (tDiff/86400 > 31 || tDiff/86400 < -31)
        bRet = true;
      else{
        tm tmCurrent = *localtime(&tCurrent);
        tm tmPassed = *localtime(&tPassed);
        if (tmCurrent.tm_year != tmPassed.tm_year)
          bRet = true;
        else if(tmCurrent.tm_mon != tmPassed.tm_mon)
          bRet = true;
      }
    }

    函数func_calc2就是多加了一个31天的判断,因为如果两个时间点相差时间是在31天以上,肯定不在一个月了,按照这样的理解就加了多了一个判断

    if (tDiff/86400 > 31 || tDiff/86400 < -31)
        bRet = true;

    测试结果:

      循环了100 000 000次,每次随机参数nDays的数值,结果是没有加上面判断的用了54秒,而自己加了判断的只用了4秒。高兴一下^_^

    3. 总结:

    (1)这只是个开始,希望自己不断的进步和学习,也希望同时在学习的道友们都在进步;

    (2)以后要不断的注意效率问题,不断的实验,不断的动手;

    (3)这里的方法可能不是最好的,也希望大侠们狂喷,给出更好的办法,自己学习,谢谢!

    4. 今天收帖。^_^

  • 相关阅读:
    Broadcom 43228 Kali Linux Ubuntu
    linux 栈空间查看和修改
    mininet 操作命令
    linux shell note
    进程与线程的区别
    JAVA基础--JAVA 集合框架(泛型、file类)
    HashMap的实现原理
    Java 流(Stream)、文件(File)和IO
    总结接口和抽象类的异同
    Java 泛型
  • 原文地址:https://www.cnblogs.com/pk-run/p/3379288.html
Copyright © 2011-2022 走看看