可变参数宏的2种不同语法

时间:2012-02-06 04:07:32

标签: c++ c syntax variadic-macros

#define TEST(X, ...)       X ## __VA_ARGS__    // (1)
#define TEST(X, args...)   X ## args           // (2)

它们之间是否存在功能的区别? (即,在某些情况下,其中一个可以以更好的方式使用,然后以其他方式使用)。另外,这两种语法都包含在C ++ 11中吗?

1 个答案:

答案 0 :(得分:2)

第一种语法是标​​准C99,也是标准C ++ 11。第二个是,我相信,GNU特定扩展。