gpt4 book ai didi

c++ - 来自 "new"的 std::function 并输入

转载 作者:行者123 更新时间:2023-12-03 07:07:06 25 4
gpt4 key购买 nike

假设我有类 Class。
现在我想创建一个 std::function 对象,它创建一个 Class 类型的新对象,使用默认构造函数并返回它。
是否有一些非常简单的方法可以将 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/

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