我有几个函数共享我想要传递的公共(public)参数,那么是否可以使用宏来避免重复写出公共(public)参数?
举个例子,下面的方法可行吗?
#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) {
...
}
最佳答案
当然,这是合法的。 #define
-d 宏的扩展只不过是标记的替换,忽略这些标记的含义(如果有的话)。
(这是否是一个好主意取决于它的记录情况、使用范围以及诸如此类的事情。)
关于c - 是否可以在函数原型(prototype)和定义中使用宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14421065/