在Delphi中实现vector类?

时间:2010-01-05 13:48:12

标签: delphi math delphi-2010 records

您如何在Delphi中创建矢量类?我宁愿将所有与数学相关的东西放入DLL中。我应该使用记录还是实现接口的类?

记录方法的优点:

  • 快速轻巧
  • 值类型
  • 运营商超载

记录方法的缺点:

  • 实现不能隐藏在DLL中(没有继承,因此DLL接口没有抽象基类可能)
  • 记录作为类的属性(Class.VectorProp.X := 42
  • 的问题

您怎么看?

2 个答案:

答案 0 :(得分:3)

这取决于您的优先事项。

如果表现是首要任务,请转到记录。但是如果实现隐藏是最重要的,那就选择接口。

但是为什么不使用包,这样你就可以使用静态和动态链接。当然,如果代码要被其他语言使用,则首选DLL,DLL是更好的方法。

Botom一行,要求及其相对优先级决定了实施。

答案 1 :(得分:2)

我没有使用其中任何一种,但它们可以节省你一些时间。

  1. SDL MathPack - 不确定是否需要付费
  2. Jedi Math - 看起来项目已被放弃,但无论如何你应该检查一下。如果你没有做任何疯狂的事情,它可能会对你有用。