巨集和 C++
C++ 提供新功能,其中某些功能會取代 ANSI C 預處理器所提供的功能。 這些新功能可強化此語言的類型安全及可預測性:
在 C++ 中,宣告為
const
的物件可以在常數運算式中使用。 它可讓程式宣告具有類型和值資訊的常數。 它們可以宣告可透過偵錯工具以符號方式檢視的列舉。 當您使用預處理器#define
指示詞來定義常數時,其不精確且不是型別安全。 除非套裝程式含接受其位址的運算式,否則不會為const
物件配置任何儲存體。C++ 內嵌函式功能取代了函式類型的巨集。 在巨集中使用內嵌函式的優點包括:
類型安全。 內嵌函式的類型檢查限制與一般函式相同。 宏不是型別安全。
修正具有副作用的引數處理。 內嵌函式會在輸入函式主體之前,評估提供做為引數的運算式。 因此,沒有可能會有副作用的運算式不安全。
如需內嵌函式的詳細資訊,請參閱 內嵌、__inline、__forceinline 。
為了提供回溯相容性,Microsoft C++ 會保留存在於 ANSI C 和舊版 C++ 規格中的所有前置處理器功能。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應