Delete a TObjArray

Hello Rooter!

I have a problem to delete a TObjArray.

Consider this little C code used in root 5.26 on Ferdora core11 :

#include <stdio.h>
#include <TH1.h>
#include <unistd.h>
#include <TObjArray.h>

int test(int no_test){

if (no_test==1){
TH1F *test;
for (int i= 0;i<10000;i++){
test= new TH1F(“test”,“test”,10000,0,10000);
test->Delete();
}
}

if (no_test==2){
TObjArray *test2 ;
for (int i= 0;i<10000;i++){
test2 =new TObjArray ();
test2->Delete();
}
}

printf(“END\n”);

return 0;
}

In case test(1) used memory is retrieved 33M
In case test(2) used memory is not retrieved 33->34,1M
Is it impossible to delete completely a TObjArray?

Thanks for your help

Luc

Hi,

In both case you mean to use ‘delete’ i.e. delete test1; delete test2;

Cheers,
Philippe.

Yes, It’s better!
Tanks a lot !

Luc