Preprocessing C + + : Substitution and Composition