gpt4 book ai didi

c++ - 有没有办法从 `std::function` 返回到指针?

转载 作者:太空狗 更新时间:2023-10-29 20:23:17 25 4
gpt4 key购买 nike

想象一下以下场景:

typedef std::function<float(float)> A;
typedef float(*B)(float);

A foo();
void bar(B b);

您想按照以下方式做某事:

bar(foo());

显然这是行不通的。主要是因为A可以包含一个状态,而B是一个函数指针。如果我们知道 A 不包含状态并且我们希望以某种方式获取它的“含义”并将其放入可以为 B 传递的内容中怎么办?

这不可能吗?

最佳答案

如果你能保证A中存储的可调用对象是一个函数指针或者一个捕获列表为空的lambda,那么你可以简单地通过这种方式得到一个函数指针:

foo().target<B>();

关于c++ - 有没有办法从 `std::function` 返回到指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33864454/

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