【发布时间】:2020-08-28 23:32:09
【问题描述】:
我有几个签名几乎相同的函数(比实际代码短得多):
int hello(A a, B b, C c, int n);
int there(A a, B b, C c, int n);
int how(A a, B b, C c, int n);
int are(A a, B b, C c, int n);
...
等等。然后在调用期间,代码创建一次参数,然后将相同的对象传递给每个函数,除了 n:
A a; B b; C c;
hello(a, b, c, 240);
there(a, b, c, 33);
how(a, b, c, 54);
are(a, b, c, 67);
我想要实现的是类似于std::bind 的正常使用方式,只是我想换掉这个功能。例如:
auto uber_func = std::something_stack_overflow_recommends(..., a, b, c)
uber_func(hello, 240);
uber_func(there, 33);
uber_func(how, 54);
uber_func(are, 67);
从std::bind 的文档中我不清楚它是否可以做到这一点。你有什么建议吗?
【问题讨论】: