Препроцессор C ++ 03 (по крайней мере, должен) быть похожим на препроцессор C до C99. Несмотря на то, что номера формулировок и абзацев немного отличаются, единственное техническое различие, о котором я знаю между ними, заключается в том, что препроцессор C ++ обрабатывает диграфы и универсальные имена символов, которых нет в C.
Начиная с C99, препроцессор C добавил некоторые новые возможности (например, переменные макросы), которых нет в текущей версии C ++. Я точно не помню, но не верю, что были добавлены орграфы.
Я полагаю, что C ++ 0x снова приведёт их в соответствие (по крайней мере, это и есть намерение). Опять же, номера абзацев и формулировки не будут идентичны, но я считаю, что они должны работать одинаково (за исключением сохранения различий, упомянутых выше).