__COUNTER__宏可移植吗? [英] Is __COUNTER__ macro portable?

查看:99
本文介绍了__COUNTER__宏可移植吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一段代码使用__COUNTER__宏生成变量的唯一名称.

I have a piece of code which uses __COUNTER__ macro to generate unique names for variables.

此代码可移植吗?我知道GCC和MSVS支持它.什么是其他编译器?宏是由标准定义的(据我所知,在C ++ 14之前不是).

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).

推荐答案

这绝对不是标准.

这是一个编译器扩展( GNU C扩展)

It's a compiler extension (GNU C extensions)

常见的预定义宏是GNU C扩展.

The common predefined macros are GNU C extensions.

Microsoft专用的

Microsoft特定的预定义宏:

Microsoft-Specific Predefined Macros:

__计数器__

还被 clang 作为语言扩展支持.

also supported by clang as language extension.

该标准在任何地方均未提及.

这篇关于__COUNTER__宏可移植吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆