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