使用宏作为参数
use macros for arguments
我正在尝试围绕一个函数创建一个宏包装器,这样我可以使代码在阅读时更直观。不是调用 send_message_to_destination(m, d) 而是编写 send(m)to(d).
#include <stdio.h>
void send_data_to(int data, int dest)
{
printf("Send %d to %d\n", data, dest);
}
#define send(data)to(destination) send_data_to(data, destination)
int main() {
int data = 5;
int dest = 10;
send(data)to(dest);
}
有可能吗?
您认为这会使代码更易读或更直观吗?
我同意这些评论(不是一个好主意),但是,您可以使用类似这样的东西。请记住,预处理器只是将文本替换为您的宏。
#define to(destination) destination)
#define send(data) send_data_to(data,
不,MACROS 没有这样的方法
我正在尝试围绕一个函数创建一个宏包装器,这样我可以使代码在阅读时更直观。不是调用 send_message_to_destination(m, d) 而是编写 send(m)to(d).
#include <stdio.h>
void send_data_to(int data, int dest)
{
printf("Send %d to %d\n", data, dest);
}
#define send(data)to(destination) send_data_to(data, destination)
int main() {
int data = 5;
int dest = 10;
send(data)to(dest);
}
有可能吗? 您认为这会使代码更易读或更直观吗?
我同意这些评论(不是一个好主意),但是,您可以使用类似这样的东西。请记住,预处理器只是将文本替换为您的宏。
#define to(destination) destination)
#define send(data) send_data_to(data,
不,MACROS 没有这样的方法