__COUNTER__ 宏是否可移植?
I have a piece of code which uses __COUNTER__
macro to generate unique names for variables.
Is this code portable ? I know that GCC and MSVS support it. What's about other compilers ? Is the macro defined by standard (as far as I know before C++14 it wasn't).
解决方案It's definitely not standard.
It's a compiler extension (GNU C extensions)
The common predefined macros are GNU C extensions.
and a Microsoft-specific one,
Microsoft-Specific Predefined Macros:
__ COUNTER __
also supported by clang as language extension.
The standard doesn't mention it anywhere.
相关文章