c - 使用宏作为参数

标签 c macros wrapper readability

我正在尝试围绕函数创建一个宏包装器,以便使代码在阅读时更加直观。例如,不要调用 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,  

关于c - 使用宏作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36227258/

相关文章:

c - 如何防止 gcc 重新排序 x86 帧指针保存/设置指令?

c - 为大数据设计算法

c - 删除文件中的记录(C语言编程)

c - 内核到用户空间的低延迟通信

java - 您将使用什么工具来完成重新格式化 java 代码的任务?

c++ - 区分VC++ 2010及以后的编译器版本

java - 可以将java翻译成jruby吗?

c++ - 将多参数函数传递给宏

c# - 实现接口(interface)还是 double 的泛型?

python - 如何使用 Pinnacle Sports API 的 Python 包装器查询实际市场