gpt4 book ai didi

c++模板依赖于文件的输入

转载 作者:行者123 更新时间:2023-11-30 03:54:42 26 4
gpt4 key购买 nike

我有一个复杂的 C++ 科学代码,它使用多个库。假设有 5 种不同类型的库,如线性求解器、集成工具等。对于每种库类型,都有几个不同的库做完全相同的事情,但具有不同的内部实现。事实上,对于每个库都实现了一个包装类,这样所有相同类型的库都具有完全相同的接口(interface)。

现在,我想把这个软件给用户。我希望用户能够在代码编译后选择他们想要使用的库。目前它是通过输入文件完成的。

唯一的问题是在主程序中对此进行编码。在对库选择进行编码时,我最终使用嵌套 ifs,从而根据从文件中读取的参数明确编码库的每种可能组合。我想知道是否有一种简洁的方法可以做到这一点。

最佳答案

您不能实现依赖于文件输入的模板,因为模板类型是在编译中解析的,而不是运行时。

做到这一点的简洁方法是通过多态性(也是优雅的方式 ;D)。

定义一个为每个实现定义接口(interface)的基类,创建每个子类都有自己的实现,然后,(使用来自文件的输入......或者不......你的调用)决定使用哪种算法通过多态性。

:) 祝你好运。

关于c++模板依赖于文件的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394926/

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