• if 与 if else


    //version 1

    while (cin.get(ch))

    {

      if (ch == ' ')

        spaces++;

      if (ch == ' ')

        newlines++;

    }

    //version 2

    while (cin.get(ch))

    {

      if (ch == ' ')

        spaces++;

      else if (ch == ' ')

        newlines++;

    }

    对于上面的这两种写法,所得的结果是一样的,但是两者的执行效率却不一样。

    对于第一个版本,如果你输入的字符是空格,第一个if已经判断出了这个字符是空格,所以执行spaces++,但是下一个if还会再次判断这个字符,看它是不是换行符。

    第二个版本则是,如果if已经判断出了你输入的字符是空格,else if就不再判断,之间回到循环处。所以第二个版本执行效率会更高。

    但是如果你输入的不是空格,那两者的执行效率就一样了。

    所以还是建议如果碰到连续判断的还是用if else 会更好一点。

  • 相关阅读:
    border-color
    animation
    servlet injection analysis
    事务隔离级别
    write RE validation
    Filter
    Annotation
    Injector
    gradle的安装
    Build tool
  • 原文地址:https://www.cnblogs.com/KingKO/p/5988341.html
Copyright © 2020-2023  润新知