Makra a C++
C++ nabízí nové možnosti, z nichž některé mohla nahradit navrženým preprocesoru ANSI C.Tyto nové možnosti zvýšit bezpečnost typů a předvídatelnost jazyk:
V jazyce C++ objekty deklarované jako const lze v konstantní výrazy.To umožňuje programům deklarování konstanty, které mají typ a hodnotu informací a vyčíslení, které lze zobrazit symbolicky s ladicí program.Pomocí preprocesoru #define směrnice definovat konstanty není nejpřesnější.Je přiděleno žádné úložiště const objektu, pokud je výraz, který má adresu nalezen v programu.
Schopnost C++ vložené funkce supplants typ funkce makra.Výhody použití vložených funkcí pomocí makra jsou:
Typ zabezpečení.Vložené funkce mají stejný typ jako normální funkce kontroly.Makra nejsou bezpečné typu.
Správné zpracování argumentů, které mají vedlejší účinky.Vložené funkce vyhodnotí výrazy jako argumenty před zadáním v těle funkce.Proto je možnost nebezpečné výraz s vedlejší účinky.
Další informace o funkcích vložené, viz vložené, __inline, __forceinline.
Z důvodu zpětné kompatibility se zachovají všechny preprocesoru zařízeních, které existovaly v ANSI C a starší specifikace jazyka C++ pro Microsoft C++.