October 26, 2004
The attached file is a small program that creates 2 classes. all functions are defined inline.

The operator<< is overloaded to be able to sent to the object everything that neeeds to be done.

The first class cTestIf has an if-statement in the operator<<(char *_txt) the second class cTestNot has this if-statement in a shortened version

I was quite surprised seeing that both reacted differently :

the first :
I*IHello World!I*
I*IHello World!I*
I*IOne Step BeyondI*

the string only gets updated after the whole line is processed

the second
N*NHello World!N*
N*NOne Step BeyondN*
N*NStep TwoN*

the string is updated before the next operator<< is executed

Is this normal behaviour or is this a bug in how the 2 if-statements are treated by dmc compiler/linker ?

--

Nascar

Mens Sana In Corpore Sano