6. Which of following C++ code is correct:
A. int f()
{
int *a = new int(3);
return *a;
}
B. int *f()
{
int a[3] = {1,2,3};
return a;
}
C. vector<int> f()
{
vector<int> v(3);
return v;
}
D. void f(int *ret)
{
int a[3]={1,2,3};
ret = a;
return;
}
Answer:C
其它会有野指针,导致内存泄露