使用宏作为参数

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 没有这样的方法