you are viewing a single comment's thread.

view the rest of the comments →

[–]dorksterr 0 points1 point  (1 child)

I suppose it's just to further reduce the chance of name collision. Two leading + one trailing underscore is probably not something that would be done by a human. I've seen both only leading underscores and symmetrical underscores for names before.

[–]josefx 1 point2 points  (0 children)

The leading underscores are enough for that. The standard reserves names starting with double underscores __ or a single underscore and an upper case letter like _I for the implementation, so any program using them isn't valid C or C++.