具有更好回报的访客模式的替代方案

时间:2018-05-04 03:30:28

标签: c++ design-patterns visitor visitor-pattern

我正在关注LLVM教程。在代码生成阶段,他们只使用虚函数来实现codegen函数。但是,他们说像访问者模式这样的东西会很有用 - 将表达式对象与将在其上运行的所有算法分离。

问题是访客模式不容易返回。浏览网页很长一段时间后,我发现所有的解决方案非常非常笨重。

此外,我不能只创建一个CodeGen类并传入表达式,因为我们的表达式都是从基类表达式派生的。必须从表达式中进行调用才能获得正确的类型。

我想不出一个很好的方法来做到这一点。有谁能告诉我我应该看什么样的模式?感谢。

0 个答案:

没有答案