Quote Originally Posted by StudentFS View Post
Problem is that option A and B are very similar, only minor modifications but in multiple places. To keep two copies of the code is too big headache.
Oh, absolutely you should avoid code duplication. I just feel that using #define should be restricted to OS- or compiler-dependent differences. Algorithmic differences almost always can be encapsulated more cleanly using other approaches.