gpt4 book ai didi

C++实时策略模式处理不同数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:50:00 25 4
gpt4 key购买 nike

<分区>

我目前正在研究一种在 C++ 中实现策略模式的有效方法,该模式在运行时(它应该实时运行)和模块化方面是高效的。

更具体地说,考虑一个将处理来自不同来源的数据的系统。数据的抽象处理步骤总是相同的(想想模板模式)。然而,要使用的特定算法可能取决于处理的数据(即它的来源)。因此,我想通过适当的接口(interface)设置决定策略的上下文,但保持实际处理接口(interface)固定。
更复杂的是,我需要模块化,即我需要能够在不同的源设置之间切换而无需重写完整的代码。 (高编译时模块化。)

为了让您对我的尝试有更多的了解,这里有一些显然行不通的精简示例代码:

class GeneralDataContainer
{
int some_general_data;
}

template<typename type>
class DataContainer : GeneralDataContainer
{
type some_specific_data;
}

class SubmoduleInterface
{
void setContext(SomeContextIdentifier & context){...}
void processData(GeneralDataContainer & data){...}
}

现在的问题是:我怎样才能让它发挥作用?

我研究的主要方向是标准的 OO 多态性(存在表查找问题),以及我不知道如何访问子模块和封闭策略算法中的特定数据 (some_specific_data) 的 CRTP。

这很可能是一个非常愚蠢的问题,而且有一个直截了当的答案。但是我只是无法弄清楚,所以如果有人比我有更多的 C++ 经验(基本上应该是每个人),可以指出正确的方向,那就太好了。提前致谢。

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