大家好,我有一个在我创建的大地图中搜索数据的问题。我正在用我的框架创建一个FSM。我有几个condition
s应该附加到某些Transition
s(基于以下条件)。 condition
应附加到两个状态s1&之间的Transition
。 s2,如果在某个state s1
中找到set s1Set
而在state s2
中找到set s2Set
。
由于我有几个条件,每个条件都有它,我创建了这个地图以便能够检查。
std::map<std::set<int>, std::pair<std::set<StateArch*>, std::set<StateArch*> > > mapBypassConditions;
整数组是我的条件,这对组是我搜索S1和S2的地方。
然而,我认为这是非常低效的,因为对于我的FSM中的每次转换,我必须遍历整个地图并搜索S1和S2并检查是否需要将条件附加到它。
你们有更好的想法吗?也许更好地组织地图?
P.S。我正在使用C ++ 98,因为框架有点旧,还没有使用更新的版本