我有一个架构,它使用访问者模式在树上实现多次传递(恰好是 AST)。在其中一个过程中,我需要将一些数据与节点 ( nodeX
) 相关联,然后从节点下方的某个点从对nodeX
. 我想以一种不会将访问者/传递的实现推入树节点的方式来执行此操作。
有什么巧妙的方法可以使这项工作吗?
想法:
void*
在每个节点上(丑陋,不安全)hash_map<Node,Data>
(没有我想要的那么干净,谁拥有它?)
我有一个架构,它使用访问者模式在树上实现多次传递(恰好是 AST)。在其中一个过程中,我需要将一些数据与节点 ( nodeX
) 相关联,然后从节点下方的某个点从对nodeX
. 我想以一种不会将访问者/传递的实现推入树节点的方式来执行此操作。
有什么巧妙的方法可以使这项工作吗?
想法:
void*
在每个节点上(丑陋,不安全)hash_map<Node,Data>
(没有我想要的那么干净,谁拥有它?)