使用#define
來定義符號。 將符號用作傳遞給 #if 指令的表示式時,該表示式的計算結果為true
,如以下示例所示:
#define debug
#define
指令不能用於宣告常量值
,常量定義例:
public const int value = 213;
c# 中的常量最好定義為類或結構的靜態成員。
如果具有多個此類常量,請考慮建立乙個單獨的「常量」類來容納它們。
符號可用於指定編譯的條件。 可通過 #if 或 #elif 測試符號。 還可以使用conditional
屬性來執行條件編譯。
可以定義乙個符號,但不能向符號分配值。 檔案中必須先出現#define
指令,才能使用並非同時也是預處理器指令的任何指示。
還可以通過 /define 編譯器選項來定義符號。 可以通過 #undef 取消定義符號。
使用/define
或#define
定義的符號與具有相同名稱的變數不衝突。 也就是說,變數名稱不應傳遞給預處理器指令,且符號僅能由預處理器指令評估。
使用#define
建立的符號的作用域是在其中定義該符號的檔案。
如以下示例所示,必須將#define
指令放在檔案頂部。
#define debug
//#define trace
#undef trace
using system;
public class testdefine
} // output:
// debugging is enabled.
C和C 中 define的使用方法
define常規的文字替換就不多說明了,先說一下帶引數的巨集替換,比如 define add x,y x y 需要注意的就是在涉及運算或著其他一些情況下,要加上括號來避免結合律影響運算結果,像5 add 2,3 你期望的結果是25,但是,在不加括號的情況下 5 2 3 結果是30.當需要換行時,需要...
C 巨集定義 define 中 的使用
在c 的巨集定義中,符號 一般是用於連線,包括引數的連線,引數與識別符號的連線等,然後形成乙個新的識別符號。下面舉幾個例子來進行說明。eg1 1 define add a,b a b 2 define ab 123456 3int main 4或者不用 define ab 123456 直接在mai...
C 巨集定義 define 中 的使用
在c 的巨集定義中,符號 一般是用於連線,包括引數的連線,引數與識別符號的連線等,然後形成乙個新的識別符號。下面舉幾個例子來進行說明。eg1 1 define add a,b a b 2 define ab 123456 3int main 4 或者不用 define ab 123456 直接在ma...