共用方式為


巨集和 C++

C++ 提供新功能,其中某些功能會取代 ANSI C 預處理器所提供的功能。 這些新功能可強化此語言的類型安全及可預測性:

  • 在 C++ 中,宣告為 const 的物件可以在常數運算式中使用。 它可讓程式宣告具有類型和值資訊的常數。 它們可以宣告可透過偵錯工具以符號方式檢視的列舉。 當您使用預處理器 #define 指示詞來定義常數時,其不精確且不是型別安全。 除非套裝程式含接受其位址的運算式,否則不會為 const 物件配置任何儲存體。

  • C++ 內嵌函式功能取代了函式類型的巨集。 在巨集中使用內嵌函式的優點包括:

    • 類型安全。 內嵌函式的類型檢查限制與一般函式相同。 宏不是型別安全。

    • 修正具有副作用的引數處理。 內嵌函式會在輸入函式主體之前,評估提供做為引數的運算式。 因此,沒有可能會有副作用的運算式不安全。

如需內嵌函式的詳細資訊,請參閱 內嵌、__inline、__forceinline

為了提供回溯相容性,Microsoft C++ 會保留存在於 ANSI C 和舊版 C++ 規格中的所有前置處理器功能。

另請參閱

預先定義巨集
巨集 (C/C++)