gpt4 book ai didi

c++ - 访问者模式中访问的每个元素的计算结果存储在哪里?

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:20 25 4
gpt4 key购买 nike

我正在尝试使用访问者(在“将算法与数据结构分开”的意义上)。我看到的所有示例都执行类似于求和的操作 - 其中访问者是 SumVisitor 并存储一个 ivar“Sum”,它只是将它访问的每个元素的值相加。但是,如果要将计算结果与每个元素相关联怎么办?作为一个简单的例子,假设您希望算法(访问者)对它访问的每个元素进行平方。你在哪里存储结果?我唯一能想到的是存储在访问者中的 vector > 之类的东西,但这看起来很奇怪。关于如何做这样的事情有什么建议吗?

最佳答案

您有四种选择:

1) 如果有地方可以放置它们,则以某种方式将它们存储在原始数据结构中。

2) 将它们存储在访问者中(例如,使用从元素到结果的映射)。

3) 将它们存储在别处,并将“别处”传递给访问者,以便访问者知道将结果放在哪里。

4) 创建一个新的数据结构来存储它们。

您选择哪个取决于您要实现的目标。

关于c++ - 访问者模式中访问的每个元素的计算结果存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866424/

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