关于函数的返回值,需要注意的是返回指针或者引用的时候,不可以返回局部变量的指针或引用,因为当方法走完之后,局部变量就消失了,指针所指向的那片内存被操作系统用来做其他事情了,当使用该指针的时候,就会产生错误的情况
下面是一个错误的示例

int* aa() {int a = 666;return &a;
}
int main()
{int* paa = aa();while (1) {std::cout << *paa << std::endl;}
}

下面是一个正确的示例

int* aa() {int* a = new int;*a = 666;return a;
}
int main()
{int* paa = aa();while (1) {std::cout << *paa << std::endl;}
}

日记:如果把while去掉,有可能会发现示例1依然打印出正确的结果,这是因为虽然结果是正确的,但是那片内存已经不属于你,只是操作系统还没有使用那片不属于你的内存,所以内存里的值,依然是原来的值

C++函数的返回值是指针相关推荐

  1. 函数指针,指针函数,返回值为指针的函数

    摘要: 在学习C语言时,一个比较容易混淆的概念就是函数指针.指针函数.返回值为指针的函数.本文将对这三个概念进行区分.指针函数就是返回值为指针的函数,两个本质上是同一事物,只是叫法不同.函数指针就是一 ...

  2. 引用之函数返回值 函数的返回值为引用类型《三》

    一: 可以把函数定义为引用类型,这时函数的返回值即为某一变量的引用(别名),因此,它相当于返回了一个变量,所以可对其返回 值进行赋值操作.这一点类同于函数的返回值为指针类型. 由于函数调用返回的引用类 ...

  3. 【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )

    文章目录 一.字符串翻转模型 业务函数 二.完整代码示例 一.字符串翻转模型 业务函数 将上一篇博客 [C 语言]字符串模型 ( 字符串翻转模型 ) 的代码 , 主要业务逻辑 , 抽象成函数 ; 字符 ...

  4. 【C 语言】字符串模型 ( 两头堵模型 | 将 两头堵模型 抽象成业务模块函数 | 形参返回值 | 函数返回值 | 形参指针判空 | 形参返回值操作 )

    文章目录 一.将 两头堵模型 抽象成业务模块函数 二.完整代码示例 一.将 两头堵模型 抽象成业务模块函数 将 两头堵模型 抽象成业务模块函数 相关要点 : 形参返回值 : 函数的返回值 , 一般使用 ...

  5. 指针作为函数的返回值

    指针不但可以作为函数的参数进行传递,还可以作为函数的返回值,返回的指针即可以指向 任何数据类型的地址,也可以指向一维数组或者多维数组的地址 #include<iostream> using ...

  6. C/C++之函数返回值为指针或者是引用时常见错误总结

    1.说明 函数如果是指针或则引用的返回,一般全局变量.局部静态变量.局部动态分配内存的变量可以使用作为函数的返回值,局部变量不行,因为局部变量函数调用完会自动销毁内存,这个时候返回的指针或则引用就有问 ...

  7. 指针函数到函数指针作为函数的返回值

    转载自:https://www.cnblogs.com/yangjiquan/p/11465376.html 首先说一下指针函数: 1.指针函数的定义 顾名思义,指针函数即返回指针的函数.其一般定义形 ...

  8. C++知识点8——函数的返回值

    函数的返回值不能是数组或函数,但是可以是是数组和函数的指针或引用 函数返回一个值的过程和初始化完全一致,先创建一个临时变量,用返回值初始化该临时变量,然后用该临时变量去初始化另一个变量或者给另一个变量 ...

  9. keil5函数 默认返回值_C++ 函数的定义

    " C++对于函数的基本用法" 01 - 函数的定义 //函数声明:[返回值类型] [函数名称] (参数列表)int Function(int a, int b);//函数定义in ...

最新文章

  1. 一张900w的数据表,怎么把原先要花费17s执行的SQL优化到300ms?
  2. 最快捷的PPT技能提升之路 PPT定制 驼峰设计
  3. JDBC批处理读取指定Excel中数据到Mysql关系型数据库
  4. 最后一个单词的长度Python解法
  5. 最短路和次短路问题,dijkstra算法
  6. 【POJ - 3041】Asteroids (二分图,最小点覆盖)
  7. 散点画三维曲面图_UG 复杂曲面合金零件的数控加工
  8. 2018-2019-2 20175105王鑫浩 实验二《Java面向对象程序设计》实验报告
  9. 后台拿webshell的方法总结
  10. python中decode()函数函数的用法
  11. VB.NET水晶报表控件经验总结
  12. 微服务调用组件Ribbon底层调用流程分析
  13. 骨科手术ICD编码主要缺陷与原因分析
  14. APEX光学分析设计软件
  15. 元气骑士机器人获取方法_元气骑士机器人怎么获得视频(机器人获取方法说明)...
  16. Summary——CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark
  17. 微信 Emoji表情代码大全
  18. dat image 微信_电脑微信image文件夹下的dat文件怎么打开?
  19. uniAPP小程序webview从H5返回小程序不起作用
  20. 欢迎大家多踩踩偶的个人博客噶 哇哈哈

热门文章

  1. STM32之点亮LED
  2. VsCode配置Python项目的setting.json和launch.json两个配置文件
  3. java中使用QBC的好处_使用QBC的方式应用多对多关系中的查询
  4. 8080端口被占用怎么解决_端口占用不会搞?两行命令就解决!
  5. org.apache.catalina.LifecycleException: Protocol handler start failed
  6. rabbitMQ碰到了对象跨项目的时候,反序列化出了问题
  7. Java判断奇数偶数-高效率
  8. Android开发笔记(五十)定时器AlarmManager
  9. 修复linux bash破壳漏洞,Linux系统下如何检测并修复bash中的破壳漏洞​​
  10. vue写的页面title中ico图标不显示的问题