簡體   English   中英

[cpp.cond]/2 在 N4713

[英][cpp.cond]/2 in N4713

N4713 中的 [cpp.cond]/2:

如果標識符當前被定義為宏名稱(也就是說,如果它是預定義的,或者如果它是#define預處理指令的主題,而沒有具有相同主題的干預#undef指令,則定義的宏表達式的計算結果為1標識符),如果不是,則為0

我不明白上面的上面的。 也就是說,如何在不包含#define預處理指令的情況下預定義宏名稱?

該實現預定義了一些宏,而用戶無需#define它們。 可以在 [cpp.predefined] 中找到標准預定義宏名稱的列表。 例如,它包括__FILE____LINE__

因為編譯器可以創建宏。 他們一直都在這樣做,而這個聲明是允許他們這樣做的一部分。 事實上,標准要求他們; 該標准要求實現提供大量宏 其中包括__cplusplus (C++ 版本)、 __FILE__ FILE__(正在處理的文件的名稱)等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM