c++ 宏定義中#, ##, #@的含義

#表示:對應變量字符串化,即加雙引號  

連接符#@:它將單字符標記符變換爲單字符,即加單引號

##表示:把宏參數名與宏定義代碼序列中的標識符連接在一起,形成一個新的標識符

例如:

#define A(x)  #@x      //此處x僅限於單個字符

則A(m) 字面量表示 'm',     而A(abc),則無效

 

#define B(x)  #x

則B(m) 字面量表示 "m", B(abcd123)  字面量表示 "abcd123"

 

#define C(x)  Class##x

C(List) 字面量表示 ClassList

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章