gpt4 book ai didi

c++ - C预处理器中的功能绑定(bind)操作

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:16 25 4
gpt4 key购买 nike

我有一个这样的宏(它来自一个实际有用的用例,但我一直在玩简化的用例):

#define MY_MACRO(M)  M(3) M(5) M(7)
#define MULTIPLY_BY_2(A) (2*A)

然后我可以写

MY_MACRO(MULTIPLY_BY_2)
// -> (2*3) (2*5) (2*7)

太棒了!我想要的是:

#define MULTIPLY(A,B) (A*B)
MY_MACRO(BIND(MULTIPLY, 2))

得到和上面一样的结果。 BIND 可能是什么?我已经尝试了一些 hack,并且可以报告说这几乎是可能的(我觉得这很神奇)。但它并不漂亮,也不一般。这能做得吗? (即纯粹在CPP中构建一些真正的功能设施?)是否可以做得足够好以绑定(bind)绑定(bind)宏?

也许我真正想问的是,在您所知道的任何预处理器库中是否有这样的工具?我在 Boost 中找不到类似的东西。

最佳答案

对不起,你不能要求宏编程很漂亮。

关于c++ - C预处理器中的功能绑定(bind)操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10254567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com