( tr3w | 2008. 01. 15., k – 13:51 )

Ezt azért nem nevezném mellékhatásnak.
Ezzel az erővel a printf is csak egy void-ot állít elő. :)

A lényeg, hogy van nekünk egy ilyenünk (többek között):


std::ostream& operator<< (std::ostream& out, char* str);

Ez ha úgy tetszik egy közönséges fv.
A te sorod elejét írhatnád így is:


operator<< (std::cout, "Hello world");

Arról van szó, hogy elvégzel egy műveletet, majd az eredményül kapott objektumot visszaadod további felhasználásra. Én egyiket sem nevezném mellékhatásnak.

A te gondolatmeneted alapján a ++i utasítás mellékhatása, hogy növeli i értékét...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o