我正在用C创建一个几何库,需要以下不可变类型:
Vector2f(2floats-8字节)
Vector2d(2doubles-16字节)
Vector3f(3floats-12字节)
Vector3d(3doubles-24字节)
Vector4f(4floats-16字节)
Vector4d(4doubles-32字节)
我正试图确定是让它们成为结构还是类。MSDN建议仅在大小不大于16字节时使用结构。这似乎是2005年的事。16字节仍然是建议的最大大小吗?
我确信对float向量使用struct比使用类更有效,但是对于double向量我该怎么办?我应该使它们的结构也保持一致,还是应该使它们成为类?
更新时间:
看起来每个人都同意他们应该是structs。谢谢你的回答。

最佳答案

微软的xna框架对其Vector2/3/4数据类型使用结构。它们包含float类型的字段。我认为这样做没有什么错;使用double类型的字段不应该有太大的区别。

08-05 04:05
查看更多