gpt4 book ai didi

c++ - 混用 std: :'s and boost::' s::bind 和::function 会导致问题吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:11 24 4
gpt4 key购买 nike

我认为答案是否定的,但我只是想确定一下。

如果我将 std::function 作为函数的参数,传入 boost::bind 是否有任何问题,反之亦然?

编辑:

我发现当你包含 boost\bind.h 时,boost::bind 使用的占位符被直接导入到命名空间中,并且它们与 std::bind 不兼容。对于 std::bind,您必须显式引用占位符,如下所示:std::placeholders::_1,或执行一些其他类型定义或使用魔法使它们同时可用。

最佳答案

没有。 std::(和boost::)function 的全部目的是它们可以接受任何 函数对象可以使用正确的签名调用它——包括 lambda、仿函数和任何类型绑定(bind)的结果。他们不关心你的函数对象来自哪里或者它是什么类型。

你甚至可以将它们相互绑定(bind),虽然我不太确定你为什么想要这样做。

关于c++ - 混用 std: :'s and boost::' s::bind 和::function 会导致问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235598/

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