c/c++ 函数中局部变量的返回
来源:互联网 发布:mac book能下载爱剪辑 编辑:程序博客网 时间:2024/05/23 02:07
对于函数中的局部变量是在栈中的,当函数返回的时候,会被自动回收
那么函数所返回的局部变量,其实是值拷贝,而对于局部指针的值拷贝,
即是这个栈中的地址,因为当这个方法返回的时候,这个栈中的地址已经被回收了
因此,再想去进行相应的数据访问,那就会变错。因此如果不想出现这种情况。
那么就应该保证返回的变量不是指向栈内存的指针。
那如果返回的指针指向的是堆内存,又会怎么样?
这样的使用是没有问题的,在函数内new空间,在函数外delete空间。但是这样并不是一种好的编程风格,尽量在同一个作用域内进行new和delete操作,否则还要调用者手动进行内存的释放,试问这样的接口是不是很烂。如果确实需要这样做,那就传指针进去吧!
结构体局部变量返回:
当返回的值是结构体时,此时是将栈中的结构体变量进行复制,并且返回给调用函数的位置,而栈中的结构体还是会被回收的。
转载地址:http://blog.csdn.net/jackystudio/article/details/11523353
结构体返回值转载地址:http://blog.csdn.net/tietao/article/details/7257835
0 0
- C语言中函数返回局部变量的方法
- C/C++中函数返回局部变量的问题
- c/c++ 函数中局部变量的返回
- C语言函数中局部变量的返回
- C函数返回局部变量
- C 函数返回局部变量
- C函数返回局部变量
- c 函数 返回局部变量
- C函数返回局部变量
- C语言之函数返回局部变量
- C语言---函数返回局部变量
- c/c++函数返回局部变量数组
- C语言的那些秘密之---函数返回局部变量
- C语言的那些秘密之---函数返回局部变量
- C语言函数不能返回局部变量的地址
- C语言的那些秘密之---函数返回局部变量
- C的那些秘密 -----函数返回局部变量
- C语言的那些秘密之---函数返回局部变量
- sql语句的异常
- Android二维码功能实现,在程序内嵌入ZXing项目
- 一图熟悉Git的基本操作
- Joda-Time的日常使用
- 有关auocad编程和CadLib4.0的相关总结
- c/c++ 函数中局部变量的返回
- android 移植
- dancing link 精确覆盖 重复覆盖 (DLX)
- clientHeight/scrollHeight/offsetHeight/offsetParent/offsetTop/offsetHeight/scrollTop
- 7/12android培训第二天
- cmos 和 bios中断大全
- OracleJet总结(1)
- robotium自动化测试框架
- boost(一)