返回函数局部变量的指针和引用是不允许的,容易造成野指针。不管是通过返回值或者出参返回局部变量的指针都是不允许的。
但针对各种情况,可以具体研究一下返回函数指针和引用的异常情况。
例子1:
#include <iostream>
using namespace std;
void ChangePoint(int **p2)//入参类型为指向指针的指针。
{
}
不能返回局部变量的引用给一个引用变量。但是如果返回引用给一个相关的非引用变量的话是可以的。
例子2:
#include <iostream>
using namespace std;
int& fun()
{
}
void test()
{
}
int main()
{
//
//
}
可以参考:
http://topic.csdn.net/u/20120729/11/823C8AE6-691D-4BAB-A874-971836CF00C4.html