gpt4 book ai didi

c++ - 如何将通过绑定(bind)创建的功能对象发送到函数/方法?

转载 作者:行者123 更新时间:2023-11-28 04:10:43 25 4
gpt4 key购买 nike

我已经为随机化需求创建了一个功能对象。

我只是不知道如何在没有模板的情况下将它发送到函数/方法。和他们在一起很容易,只是

template <typename T>
void FooTemplate (T rand)
{
int b = rand(); // OK
}

void foo (... ?)
{
int a = rand(); // how to send generator to function?
}

int main(int argc, char* argv[])
{
auto rand = std::bind(std::uniform_int_distribution<uint32_t>{20, 30}, std::default_random_engine{ std::random_device()() });
return 0;
}

最佳答案

void foo(std::function<int()> rand) {...}

std::function<int()>将包装任何可调用对象,包括由 std::bind 制造的调用对象

关于c++ - 如何将通过绑定(bind)创建的功能对象发送到函数/方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57845453/

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