TITLE: Bad global object initialization schemes [ This material comes from "C++ Strategies and Tactics" by Robert B. Murry, p. 59 ] Avoid "initialization object" schemes that cause code to be executed in every compilation unit that includes a given header file. One side effect of the new templates feature ... is an increase in the number of compilation units in a given program (since each template is usually instantiated into a separate compilation unit). It is not hard, when using templates, to build programs that contain hundreds of compilation units. A scheme that exacts a run-time cost for every compilation unit will be too expensive for such programs.