سی پلاس پلاس بطور عمومی در سه فاز ترجمه میگردد: پیشپردازنده، ترجمه به کد object، پیوند (که دو مرحله آخر به عنوان عمل کامپایل شناخته میشود.) در اولین مرحله در پیش پردازنده، شبه دستورات پیشپردازنده تغییرات لغوی بر روی کد منبع ایجاد مینمایند و آن را به مراحل دیگر تحویل میدهند.شبه دستورات پیشپردازنده با استفاده از کاراکتر # قبل از هر گونه فضای خالی آغاز گشته و رشتههایی را در کد منبع با فایل یا رشتههای دیگر با توجه به قوانین تعریف گشته توسط برنامهنویس جایگزین مینماید.
این دستورات معمولاً اعمال زیر را انجام میدهند: جایگزینی ماکروها و فایلهای دیگر (برخلاف ویژگی سطح بالاتر مانند ماجولها/پکیجها/یونیتها/کامپوننتها)، کامپایل شرطی و ..قرار دارند.