zoukankan      html  css  js  c++  java
  • Effective C++ 学习之尽可能延后变量定义式的出现时间

    这一条相对来说比较简单,一句话说来就是在你使用变量是才去定义他。在这一点上书上讲了一个避免对象无用构造的方法,

     
    const string PASSWDTOOSHORT = "";
    const int MiniPWLegth = 5;
    string encryptPasswd(const string& passwd)
    {
        string encrypted;
        if (passwd.length() < MiniPWLegth)
        {
            return PASSWDTOOSHORT;
        }
    //    .....//进行加密处理
        return encrypted;
    }

    上述代码如果有异常发生,定义的encrypted就没有使用到,就浪费了一次构造很析构的成本。还好这里是string类型,假如这里是我们动态分配的内存呢?就很容易的造成了内存的泄漏。所以说尽量延后变量的定义是很有必要的。

    之后就是一个关于变量在循环中和循环外定义的比较。C++的建议仍然是尽量在变量定义处使用,除非你有特别的性能要求。

  • 相关阅读:
    合一算法最新版
    string.at(i)
    字符串逆转
    String
    Vector
    1005POJ
    但愿天堂一切都好
    合一算法
    合一算法2
    BTREE与其它索引的优缺点对比
  • 原文地址:https://www.cnblogs.com/lzh2nix/p/3093925.html
Copyright © 2011-2022 走看看