gpt4 book ai didi

c++ - Boost Bind、Boost Function、Boost Signals 和 C++ 函数指针如何相互关联?

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

正如标题所表达的那样,我在了解 Boost Bind、Boost Function、Boost Signals 和 C++ 函数指针如何协同工作时遇到问题。

根据我的理解,Boost Bind 和 Boost Function 的结合工作类似于 Signals,而 Signals 是 Bind 和 Function 之上的抽象。

此外,与标准 C++ 函数指针相比​​,为什么 Boost Function/Bind 更可取?

希望您能帮我解决一些困惑。基本上我正在尝试使用 C++ 找到最好/最简单的回调解决方案。 :)

最佳答案

参见 here关于 c 函数指针、boost 函数和 boost 信号的不同概念的讨论。

恕我直言,这两个 boost 函数对象和 c 函数指针之间的主要区别在于添加默认参数的能力。这使得将方法(具有不可见第一个参数的函数 -> this 指针)用作函数对象变得容易。也可以调整需要将参数用作具有不同参数的函数对象的函数。

Signal/Slot 是不同的东西:它允许您发布客户端可以订阅的信号。信号可以看作是函数指针列表。客户端可以将它们的函数指针添加到列表中。当信号被调用时,列表中的所有函数指针都会被通知/调用。

关于c++ - Boost Bind、Boost Function、Boost Signals 和 C++ 函数指针如何相互关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672708/

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