我有一段代码使用__COUNTER__
宏来为变量生成唯一的名称。
此代码是否可移植?我知道GCC和MSVS支持它。其他编译器是什么?宏是由标准定义的(据我所知,在C ++ 14之前它不是)。
答案 0 :(得分:4)
答案 1 :(得分:2)
GCC手册,第Common Predefined Macros部分,陈述
常见的预定义宏是GNU C扩展。
我在C99,C11或C ++ 11标准中也从未见过这个宏。
至于实用的便携性:Clang也支持它。
答案 2 :(得分:0)
似乎否。当我在standard pdf上按c + +“__ COUNTER__”时,我找不到任何> o<