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
其它会有野指针,导致内存泄露
本文详细解析了C++代码选项的正确性,指出选项C在内存管理上的优势,避免野指针导致的内存泄露问题。
11万+

被折叠的 条评论
为什么被折叠?



