There should be no need for either the static or the unnamed namespace - true constants are folded in by the linker, I believe. Besides, using either of these techniques wastes space because the constants are duplicated in each object file, and you get many copies in the final executable.