Hi,
This is more of a C++ question I suppose. In a loop how should objects be
created? Since C++ allows variable initialization anywhere to allow
limited variable scope, does the same apply to objects created using
the "new" operator?
For example I do something like the following in one of my programs:
while(...)
{
// Fill histograms with data
.
.
.
// TObjArray will hold histograms sorted by scattering angle.
TObjArray *mlist = new TObjArray(nhit);
TIter next(mlist);
for (Int_t i = 0; i < nhit; i++)
mlist->Add(mir[sindex[i]]);
// prepare the canvas for drawing
c1->Clear();
c1->Divide(nhit, 0);
c1->Draw();
TH1F *temp;
Int_t count = 0;
while (temp = (TH1F*)next())
{
c1->cd(++count);
temp->Draw();
}
c1->Update();
// continue looping
}
Should the TObjArray be deleted at the end of the loop? Or should I
not use the "new" operator to create it?
Thanks,
Bill
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:02 MET