I wish to register a complaint. I wish to complain about this parrot, what I purchased not half an hour ago from this very boutique....
Oh, wait, sorry, wrong sketch. No, my complaint, which I freely admit may be too little too late, is about this portion of the style guideline:
Global variables are preceded by an underscore. ("_")
This is a violation of the relevant ISO standards, which say that identifiers which start with an underscore are reserved for the implementation (compiler and standard libraries) at the global scope, and that identifiers which start with an underscore followed by a capital letter are reserved everywhere. Application programs are
not allowed to use these names for globals.
Now, I admit that you've gotten away with it so far, and that fixing it at this late date may be more trouble than it's worth, but I think you should at least know that you're essentially relying on undefined behavior here. The compiler is perfectly within it's rights to translate every reference to
any such global into system("/usr/local/games/nethack").
(In fact, one early version of gcc actually did that last with any #pragma it saw, simply to emphasize that a 100%-compiler-dependent "standard" feature gives you no guarantees of anything. I admit that it's unlikely that they'd do the same with identifiers that happen to start with underscore, but they
could do so and still claim to have a standards-compliant compiler.)
Anyway, I guess I don't really object to you violating the international standards for the language, but I think it's important that you
know you're violating the international yada yada. So, consider yourself informed. What you do with that knowledge is up to you.
references:
* Bjarne Stroustrup,
The C++ Programming Language, Third Edition, Addison Wesley, 1997, pg 81.
* Ray Lischner,
C++ in a Nutshell, O'Reilly & Associates, 2003, pg 3.
cheers