假设我有类 Class。
现在我想创建一个 std::function
是否有一些非常简单的方法可以将 new 与类型绑定(bind)并完成它?
还是我必须创建一个函数/lambda 并绑定(bind)到它?std::function<Class*()> getCreateFunction()
{
return std::bind(operator new) // somehow tell new what to allocate ?
}
我确实知道如何用 lambda 解决这个问题。如果我没有意识到 bind 和 new 将如何协同工作,我只是好奇。
最佳答案
std::bind
将可调用实体作为参数。new Class()
是 expression .不能“调用”表达式。要使表达式“可调用”,可以将其包装在 lambda 中。但是你不需要std::bind
了。
关于c++ - 来自 "new"的 std::function 并输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64593829/