"Digby Millikan" < XXXX@XXXXX.COM > writes:
The underscore's only use is as part of a valid set of characters that
can comprise an identifier. It can also appear as data inside a
string, but it's not really "used" in that context.
The only thing special about underscores in C++ identifiers is when
they are in the first position of the identifier or whenever two are
next to each other, in the global namespace. In both cases the
identifier is reserved and the user is not allowed to write programs
using names with that style.
To simplify the rules, it's easiest to adopt the following two
* never use leading underscores in any identifier name of code you
* never use two underscores immediately next to each other in any
While a little more strict than the standard requires (since it
ignores the namespace issue) it's easy to adopt and apply to code, and
not hard to explain. Adhereing to the standard is harder to explain,
and thus less easy to implement or have a whole team adopt.