Ви ар спикинг фром аувер харт.
Agreed. Mea culpa.
Hmmm... Actually I meant that idLang is enum rather than class. Otherwise we should invent something very special for "Languages[Lang]".3. It's generally recommended you define return types of such overloaded operators as "<class_name>&", ie:
That allows you to avoid an unnecessary (and potentially expensive) call of the copy constructor.Code:idLang& operator ++(idLang &, int);