1、说明
函数如果是指针或则引用的返回,一般全局变量、局部静态变量、局部动态分配内存的变量可以使用作为函数的返回值,局部变量不行,因为局部变量函数调用完会自动销毁内存,这个时候返回的指针或则引用就有问题了。
2、展示代码
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
string& f1(const string &s)
{
static string result = s;
return result;
}
string f2(const string &s)
{
string result = s;
return result;
}
string &f3(const string &s)
{
string *p = new string;
*p = s;
return *p;
}
int *f4()
{
int a = 10;
return &a;
}
int *f5()
{
static int a = 10;
return &a;
}
int *f6()
{
int *a = (int *)malloc(sizeof(int