In großen Anwendungen kann es leicht zu Namenskonflikten im globalen Namensraum kommen:
// xyz1.h const float Version 3.4; // xyz2.h const int Version 7;
Dies kann man vermeiden, indem man seine globalen Objekte in einer Struktur ablegt:
struct myglobals { static const float Version; static void f(); enum fuzzy {wahr, falsch, weissnicht}; }; // Initialisierung der statischen Var.: const float myglobals::Version = 3.4;
Benutzung wird dann mit myglobals qualifiziert.