cost 108 ms
访客模式错误(使用未定义类型) - Visitor Pattern Error(use undefined type)

我正在研究访问模式。 但是,会发生以下错误。 没有定义的。 猫 class 只有自己的名字和年龄。 agevisitor和namevisitor,继承Visitor接口,output年龄和姓名。 我尝试了前向声明,但 C2027 的错误按原样出现。 帮我:( 那是我的代码 严重性代码说明项目文件 ...

如何支持在 Rust 中返回不同返回值类型的两个访问者? - How to support two visitors which returns different return value types in Rust?

我正在尝试在 Rust 中实现访问者模式。 我无法找到一种方法来支持返回不同返回值类型的两个访问者。 游乐场链接 我已经实现了两个可以访问的数据结构。 当我有一个具体的访客时,这工作正常。 然而,访问者模式的重点是让多种算法应用于数据结构。 当我想添加另一个访问者时,我不知道如何让它工作。 a ...

如何使用 C++ 访问 antlr4 中的常数项? - How do I visit a constant term in antlr4 with c++?

我有一个语法,在某些时候有以下规则: 这导致生成以下代码(激活访客): 如果我理解正确,我就不能使用访问者进一步深入树中,或者至少我不能在BaseVisitor类中找到visitTRUE或visitFALSE函数。 现在,在基于BaseVisitor实现访问者时,我必须实现函数virtual st ...

如何避免访问者模式中的空访问函数? - How to avoid empty visit functions in visitor pattern?

我有以下用例。 我有一个限制接口,需要从依赖项中填充其成员,进行验证。 这些方法适用于所有实现,因此到现在为止都很好。 一些限制要求稍后进行一些其他验证。 在主要的 function 中,我想遍历每个限制并以一般方式调用方法,而不是使用 instanceOf 然后调用。 我认为这可能是这里提到的访 ...

如何迭代混合接口实现数组? - How to iterate over mixed interface implementation array?

我有以下课程。 你能告诉我是否有办法阻止使用 instanceOf 吗? 我读到可以使用访问者模式,但我没有得到要完成的确切更改。 下面是和 Alex R 讨论后的类(因为不推荐所以避免了 instanceOf,避免了访问者模式,因为它仍然导致空访问函数)。 如果使用其他设计模式可以更好地完成此操 ...

C++ 扩展智能指针,使其也可用于替换 - C++ Extend Smart pointers so that they can also be used for substitution

我一直在使用 c++ 编写宠物编程语言。 我主要决定使用访问者设计模式与我的 AST 进行交互。 我需要的交互是一些代码生成,以及将 AST 打印到文本文件的各种方法,主要用于调试。 我还希望访问者模式能够操纵 AST 的结构,这意味着用其他节点替换节点。 所以我会有这样的设置: std::vect ...

std::visit 与 For_each 循环 - std::visit Vs For_each loop

让数据结构是任何东西(数组、向量、Std::Variant)。 但是仅使用 for/for_each 对 std::visit 进行遍历有什么区别。 和 注意 1:我知道 C 风格的 for 循环与 C++ for_each..For_each 避免了拼写错误/语法糖。 所以我们可以对 for_ea ...

使用模板在 C++ 中实现访问者模式 - Implementing the visitor pattern in C++ using templates

我目前正在尝试用 C++ 实现一种编程语言。 在解析阶段之后,我有一个可以操作的抽象语法树,其中包括类型检查和字节码生成。 之后,在这棵树上运行不同的分析类,如 ASTPrinter 和前面提到的类型检查器。 以前,访问者类的visit()方法返回 void,但我最近意识到有些访问者可能需要返回一 ...

访客模式和 std::shared_ptr - Visitor Pattern and std::shared_ptr

我在我的应用程序中使用访客设计模式进行消息处理。 例如: 在我的应用程序中,消息的实例被创建为 std::shared_ptr。 如果我“收到”工厂创建的这些消息之一,我将通过执行以下操作“访问”它: 在这种情况下,我意识到我的visit方法可能需要“保存消息以备后用”。 因为我知道正在访问 ...

为命名空间下的类型专门化访问者 - Specialize a visitor for types under a namespace

我有一个变体,它可以包含 8 种不同的类型,其中一些在特定的命名空间下 有一个免费的 function 可以用这些类型中的任何一种调用,我正在访问这样的变体 但是,现在我希望用户能够提供自己的访问者并调用它,以防万一提供的访问者与变体类型不匹配,请使用默认访问者。 为此,我尝试了以下操作 如果Vis ...

Java密封型带模式开关VS模式访客 - Java sealed type with pattern switches VS pattern Visitor

顺便说一句:在 java 15 之前为了补救这个人们使用了“类型安全访问者”模式。 我建议不要为了你的理智而学习,但如果你好奇,你可以看看 ANTLR 生成的代码——它都是一个不同“形状”数据结构的大层次结构。 资料来源:第 2 节, Java 中的“密封接口”有何意义? 在我们使用Visitor来 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM