我有一些函数可以分享我想要传递的常见参数,那么是否可以使用宏来避免重复写出常见的参数?
举个例子,以下是否有效?
#define STD_ARGS arg1, int arg2, int arg3
foo(int STD_ARGS, int foo_arg1, int foo_arg2);
foo(int STD_ARGS, int foo_arg1, int foo_arg2) {
...
}
答案 0 :(得分:2)
当然,那是合法的。 #define
- d宏的扩展只不过是代币的替代,忽略了这些代币的含义(如果有的话)。
(这是否是一个好主意取决于它的记录程度,使用范围的扩展程度等等。)
答案 1 :(得分:1)
是的,它有效。
宏的工作就是用STD_ARGS
替换arg1, int arg2, int arg3
。
在称赞之前。所以,这是合法的。