回覆列表
  • 1 # 使用者8201481786170

    #號是官方定義的,用於和其他型別區別的,不用多考慮,你就看看我給你的連結看看官方的說法

    條件編譯符號#define ???

    #if、#elif、#else 和 #endif 指令提供的條件編譯功能是透過預處理表達式和條件編譯符號來控制的。

    conditional-symbol:(條件符號:)

    除 true 和 false 外的任何識別符號或關鍵字

    條件編譯符號有兩種可能的狀態:已定義的或未定義的。在原始檔詞法處理開始時,條件編譯符號除非已由外部機制(如命令列編譯器選項)顯式定義,否則是未定義的。當處理 #define 指令時,在指令中指定的條件編譯符號在那個原始檔中成為已定義的。此後,該符號就一直保持已定義的狀態,直到處理一條關於同一符號的 #undef 指令,或者到達原始檔的結尾。這意味著一個原始檔中的 #define 和 #undef 指令對同一程式中的其他原始檔沒有任何影響。

    當在預處理表達式中引用時,已定義的條件編譯符號具有布林值 true,未定義的條件編譯符號具有布林值 false。不要求在預處理表達式中引用條件編譯符號之前顯式宣告它們。相反,未宣告的符號只是未定義的,因此具有值 false。

    條件編譯符號的名稱空間與 C# 程式中的所有其他命名實體截然不同。只能在 #define 和 #undef 指令以及預處理表達式中引用條件編譯符號。

  • 中秋節和大豐收的關聯?
  • 膨土砂和豆腐砂的區別?