在Delphi中实现vector类?

问题描述:

你会怎样在Delphi中创建一个向量类?我宁愿将所有数学相关的东西放入DLL中。我应该使用实现接口的记录还是类?在Delphi中实现vector类?

  • 快速,轻巧
  • 值类型
  • 操作符重载纪录办法

缺点:

  • 实现无法隐藏在记录方式

    优点DLL(没有继承,所以没有抽象基类的DLL接口可能)

  • 问题与记录作为类(Class.VectorProp.X := 42

性质是什么你觉得呢?

+3

只是出于好奇,为什么你想把数学的东西放在DLL中? – 2010-01-05 18:43:38

这取决于您的优先级。

如果性能是重中之重,请记录。但是如果实现隐藏是最高的,那么去接口。

但是,为什么不使用软件包,以便您可以使用静态和动态链接。当然,如果代码要被其他语言使用,首选DLL是一种更好的方法。

Botom行,要求及其相对优先级决定执行。

+0

+1接受。我认为没有“正确”的方式。我必须在这里考虑我的优先事项。谢谢! – jpfollenius 2010-01-08 14:06:41

+0

正确的方法取决于您的要求。有时他们互相冲突,所以你必须有创意。 – 2010-01-08 16:20:27

我没有使用过这些,但他们可以为您节省一些时间。

  1. SDL MathPack - 不知道你会为它付出
  2. Jedi Math - 看起来像该项目已被放弃,但你应该看看无妨。如果你没有做任何疯狂的事情,它可能会为你工作。
+0

谢谢,尽管这不是我的问题的答案。 – jpfollenius 2010-01-08 14:07:18