Re: [ROOT] New Documentation on Persistence

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue May 16 2000 - 13:21:38 MEST


Hi Ingo,

In the example the length of the array fN can vary between objects.
the [fN] in the comment field of the array declaration is used by rootcint
to generate the correct code for the class Streamer function. This is a new
feature
introduced in 2.24

One particular case is when fN is a constant. In this case, you better declare
Float_t fNArray[fN];
This will be faster, no need to allocate dynamically the array for each object
separately from the object.

Rene Brun

Ingo Strauch wrote:
> 
> Hi rooters!
> 
> To me section 4.5 (Streamers and Arrays) of the persistency document is not
> fully clear. Does the length of the array
> 
> class myclass {
> private:
>   Int_t    fN;
>   Float_t *fNArray;   //[fN]
> 
> public:
>   myclass (Int_t size = kDefaultSize);
> 
>   ClassDef(myclass,1)
> };
> 
> have to be a fixed value (so I would declare it as a static [or even global]
> constant) or can each instance of the class have a different length?
> 
> I mean, am I supposed to do code like that
> 
> myclass::myclass(Int_t size = kDefaultSize)
>     : fN(size)
> {
>   fNArray = new Float_t[fN];
> }
> 
> And if yes but I still wanted a fixed size for all objects, I would do the
> following declaration?
> 
>  static const Int_t fN;
> 
> Ciao,
> Ingo
> 
> ----------------------------------------------------------------------------
> Ingo Strauch       Budapester Str. 30, 20359 Hamburg, Tel.: +49 40 7421 4722
> ----------------------------------------------------------------------------
> DESY, Group H1/AAC1, Room 1c354      | I.Phys.Inst. RWTH Aachen, Room 28B210
> Notkestr. 85, 22607 Hamburg          |       Sommerfeldstr. 14, 52056 Aachen
> Tel: +49 40 8998-2312 / Fax: -4385   |  Tel: +49 241 80-7183 / Fax: 8888-661
> strauch@mail.desy.de                 |   strauch@toots.physik.rwth-aachen.de
> ----------------------------------------------------------------------------
> www-h1.desy.de/~strauch/      or      www-users.rwth-aachen.de/Ingo.Strauch/
> ----------------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:25 MET