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. 今天收帖。^_^

  • 相关阅读:
    c#基于事件模型的UDP通讯框架(适用于网络包编解码)
    菜鸟的mongoDB学习---(五)MongoDB的limit、skip、sort方法
    Session管理之ThreadLocal
    java中a++和++a在较复杂的运算中分析
    Spring2.5学习4.2_Proxy实现动态代理(目标类实现随意接口)
    申请美国签证超具体流程
    Class 与 new的配合使用
    关注PHPthinking官网微信公众号——红包来袭
    oracle-sql优化器
    POJ 2184 Cow Exhibition
  • 原文地址:https://www.cnblogs.com/pk-run/p/3379288.html
Copyright © 2011-2022 走看看