gpt4 book ai didi

c++ - 在 Boost.Statechart 中,state 和 simple_state 有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 01:19:03 24 4
gpt4 key购买 nike

在使用 Boost.Statechart 实现状态机时,我遇到了由于试图访问 simple_state 的外部上下文而引起的问题。从它的构造函数。在 simple_state.hpp 中发表评论告诉我:

    // This assert fails when an attempt is made to access an outer 
// context from a constructor of a state that is *not* a subtype of
// state<>. To correct this, derive from state<> instead of
// simple_state<>.

除了显然能够从其构造函数访问外部上下文之外,使用 state<> 有什么区别或含义?而不是 simple_state<>作为我的状态的基类?

最佳答案

还有许多其他事情可以从 state<> 派生构造函数中执行,而您不能从 simple_state<> 派生构造函数中执行。状态类的文档中有一个列表。我发现发布事件是从 state<> 派生的最大好处。

自从我使用它以来已经有一段时间了,但我不记得有任何影响,除了你必须为从状态派生的每个类实现转发构造函数(在文档中说明),因为 state<> 是派生的来自 simple_state<>。

关于c++ - 在 Boost.Statechart 中,state 和 simple_state 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529571/

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