gpt4 book ai didi

c++ - 在 QuickFIX/C++ 中混合类型

转载 作者:行者123 更新时间:2023-11-28 03:05:07 27 4
gpt4 key购买 nike

我一直在使用 quickfix 和 Visual Studio,发现我可以从 FIX41::NewOrderSingle 初始化 FIX42::NewOrderSingle 的实例,没有编译器问题,甚至在运行时也没有问题。当我有一个带有 FIX::Message 等参数的方法时也是如此,我可以毫无问题地传入 FIX41::NewOrderSingle 或 FIX42::NewOrderSingle。这使我无需为每个类型参数创建重载方法。这是一件好事吗?还是我自找麻烦?谢谢

最佳答案

您可以将 FIX::Message 作为参数传递,但您将无法使用生成的类型安全字段访问器。如果您更需要灵 active 而不是类型安全,那不一定是坏事,但这意味着您必须更加小心地访问和解释消息数据。

采用另一个 FIX::Message 的 FIX::Message 构造函数将源消息的内部 FieldMap 从一条消息复制到另一条消息。对于来自不同 FIX 版本的两个 NewOrderSingles,这可能会相当有效,但要注意在版本之间修改了类型或在一个版本或另一个版本中不存在的字段。您实际上可以使用采用 FIX::Message 的任何其他子类型的构造函数构造任何生成的消息。但是,如果消息不相关,这可能没有用,因为源消息的字段可能对目标消息无效,尽管它不会导致编译时或运行时错误。

关于c++ - 在 QuickFIX/C++ 中混合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914063/

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