从函数或方法返回一个内存地址

来源:互联网 发布:网络彩票诈骗2017 编辑:程序博客网 时间:2024/05/26 02:19

#include <iostream>int *newInt(int value);int main(){    int *x = newInt(20);    std::cout << *x;    delete x;    x = NULL;    return 0;}int *newInt(int value){    int *myInt = new int;    *myInt = value;    return myInt;}

函数返回值类型为指针,返回一个地址。函数里动态创建一个堆内存的空间,存储一个数字,将地址通过返回值传出到 *x ,最后销毁 *x .

但函数一定不能返回指向局部变量的指针,因为局部变量在栈中,函数结束后,栈中的这个局部变量被释放,指针指不到那个地址,就出错了。

函数返回的指针只要在函数执行结束后,不消失,就ok~




0 0
原创粉丝点击