2015-05-04 89 views
2

我知道宏的字符串化操作符(#)和我最近了解了(##)連接運算符:Preprocessor Stringizing Operator with String Literal Prefixes宏操作列表

是否還有其他的宏觀運營商是提供給我嗎?

我知道Boost有一個相當廣泛的套件,他們已經放在一起了,但就這個問題而言,我只是詢問關於標準定義的宏運算符支持。

+4

http://en.cppreference.com/ w/cpp /預處理器 – CoryKramer

+0

@Cyber​​所以從這個列表看起來最終的答案是「No」。沒有其他宏運營商。也許發佈這個答案? –

+0

@Cyber​​我已經走了,並將你的鏈接總結爲一個答案,因爲我可以找到一個答案,因爲我可以找到一個正式的答案。 –

回答

1

如由Cyber's comment提到Sringizing(#)和連接操作(##)是在C++定義的唯一宏操作符:Macro Operator List

該鏈接還文盲預定義的宏,該標準定義的列表。哪些也可用於宏,儘管它們實際上不是操作符。

如果你不爲跨平臺的兼容性也可能是值得注意的是,VISUAL C++提供了一個非標準的運營商,該運營商Charizing(#@):https://msdn.microsoft.com/en-us/library/91tt6dfs.aspx