我有一个基本类,我从一个线程推送成员并从另一个线程弹出。但是当我使用内存泄漏验证程序调试时,我看到内存未被释放,验证器显示泄漏问题处于推动阶段。在我的class我有一个数组,但它不是动态的。
My_class{
int my_var1;
int my_var22;
int my_array[100000];
My_class& operator=(const My_class& old){
if(this!=&old){
var1=old.var1;
var2=old.var2;
memcpy(my_array,old.my_array,size) //size is fixed so it is same as 100000
}
My_class(const My_class ©){
*this=copy;
}
};
//here i am reading data from udp and copy from another array to my var1;
My_class var1;
My_class var2;
int udp_array[];
//thread one
while(hasPendingdata()){
udp_array.fill();
//my_array is filled after loop
}
//than
mem_cpy(var1.my_array,udp_array,size);
my_mutex.lock();
std::my_queue.push(var1);
my_mutex.unlock();
//thread 2
my_mutex.lock();
var2=my_queue.front();
my_queue.pop();
my_mutex.unlock();