zoukankan      html  css  js  c++  java
  • c++返回值 注意事项

    1.不要返回指向局部变量或临时对象的引用。函数执行完毕后,局部变量和临时对象会消失,引用将指向不存在的数据

    2.返回指向const对象的引用 

      使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。

      如果函数返回传递给它的对象,可以通过返回引用来提高效率。

      A Max(const A & a1,const A &a2)

      {

        if(a1.v>a2.v)

          reutrn a1;

        else

          return a2;

      }

      const A & Max(const A &a1,const A & a2)

      { 

        if(a1.v>a2.v)

          reutrn a1;

        else

          return a2;

      }

    第一个方法返回将调用复制构造函数A(const A &a);而第二个方法返回引用不会,因此第二个版本所做的工作更少,

    效率更高

  • 相关阅读:
    Cocos2d-x之Vector<T>
    Cocos2d-x之Array
    Cocos2d-x之Value
    Cocos2d-x之String
    Cocos2d-x中使用的数据容器类
    Cocos2d-x之Action
    Cocos2d-x之定时器
    Cocos2d-x之MessageBox
    Cocos2d-x之Log输出机制
    Cocos2d-x之事件处理机制
  • 原文地址:https://www.cnblogs.com/li-peng/p/3493802.html
Copyright © 2011-2022 走看看