宏定义中#号和##号的使用
生活随笔
收集整理的這篇文章主要介紹了
宏定义中#号和##号的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在技術(shù)群中有人提了一個問題:如何定義一個宏,打印傳遞過來的參數(shù)的地址。這很簡單,像下面這樣
[objc]?view plaincopy這樣調(diào)用 ?pl(self) ? 將會打印 ?
在此基礎(chǔ)上,提問的人希望調(diào)用 pl(self)打印出
[objc]?view plaincopy在這個例子中可以看出,單井號(#)在宏定義中的作用就是 ?把傳遞過來的參數(shù)當(dāng)成字符串進行替換
雙井號(##)又稱連接符,它的作用就是 將參數(shù)和前面或后面的子串連接起來,成為一個新的子串。所謂的子串(token)就是指編譯器能夠識別的最小語法單元。比如下面的例子
[objc]?view plaincopy[objc]?view plaincopy
[objc]?view plaincopy
[objc]?view plaincopy
總結(jié)
以上是生活随笔為你收集整理的宏定义中#号和##号的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cygwin不能执行make
- 下一篇: 简述C/S和B/S模式的区别