__Garbage__是C ++宏中的关键字吗?

时间:2012-02-01 05:54:52

标签: c++ macros keyword

struct __Garbage__MyStruct
{};

这在c ++中的目的是什么? 它总是在声明之后发生。

struct MyStruct;

2 个答案:

答案 0 :(得分:4)

不,这不是关键字。无论你使用什么代码,只是为了某些目的定义一个名为__Garbage__MyStruct的结构,我无法从你这里的代码中找到它。

也就是说,在C ++中使用包含两个相邻下划线的名称并不是一个好主意。

这些名称由实现保留用于他们喜欢的任何用途(例如,他们自己的内部宏和全局变量),因此这会导致未定义的行为。如果可能的话,我会强烈避免像这样的代码。

希望这有帮助!

答案 1 :(得分:0)

不,_ 垃圾 _MyStruck不是C ++语言中的保留作品,所以这必须是某人在其软件中定义的含义。