zoukankan      html  css  js  c++  java
  • 函数 千万不要返回“局部对象”的引用或者指针

    请看下列两个代码

    代码1:

     1 const string manip(const string&);
     2 
     3 void main()
     4 {
     5     string input;
     6     cin >> input;
     7     cout << "Your input is: " << manip(input)<< endl;
     8 }
     9 
    10 const string manip(const string& s)
    11 {
    12     string ret = s;
    13     return ret;
    14  }
    15 

    代码2:

     1 const string &manip(const string&);
     2  
     3 void main()
     4 {
     5     string input;
     6     cin >> input;
     7     cout << "Your input is: " << manip(input)<< endl;
     8 }
     9 
    10 const string &manip(const string& s)
    11  {
    12      string ret = s;
    13      return ret;
    14  }
    15 

    代码1是正确的。代码2的manifp函数,返回了局部对象的引用。运行时会出现不可预知的错误。

  • 相关阅读:
    hdu 4577 X-Boxes 大数
    hdu 4576 Robot 概率DP
    将IP地址转化为整数
    MyISAM压缩表
    yii2 模态框
    MySQL数据库设计
    foreach循环赋值问题
    实用的网站
    判断链接地址是否有效
    tp5获取配置文件信息
  • 原文地址:https://www.cnblogs.com/younes/p/1603715.html
Copyright © 2011-2022 走看看