class A
{
public :
A();
~A();
const vector<B> & get();
}
// 多余代码略去
vector<B> & A::get()
{
vector<B> *v_data = new vector<B>();
B *b_data = new B();
v_data->push_back(*b_data);
delete b_data;
return *v_data;
}
int main()
{
A *a = new A();
vector<B> *vec_b = new vector<B>();
*vec_b = a->get();
vec_b->clear();
delete vec_b;
delete a;
return 0;
}
以上代码比较粗略,但大致过程如此,在类的成员函数get()中new出来的vector数据,按理来说应该存在堆空间里,我自行外部delete回收,但用Visual Leak Detector测试后,还是提示这个get()函数内存泄漏,这是为什么?谢谢