我想要一个简单的Vector2类/结构浮点x和y和几个方法。 我仍然试图把我的头围绕差异,但不能完全得到它 我知道它通常与结构完成,但我想更新每个帧的Vector2大2D阵列,这将使一个类更好比结构? 首先发布在这里,并提前感谢所有回复!Vector2:类或结构?
回答
会,使一类比结构
此操作更好,也不是专门的任何更好或更坏;然而,拥有很多长寿命的物体意味着你可能会遇到GC故障。它是“大型二维数组”的事实意味着您也可以通过使用结构体来节省大量开销(对象头)。
亲爱的主席先生! **你也可以通过使用结构来潜在地节省大量的开销(对象头文件)**这是太多的信息供我消化。你能再解释一下吗? –
对我来说消化太多了,但经过一些Google搜索之后,我有点想法。 所以如果我正确地理解它,是垃圾收集一个比收集原始类型更昂贵的结构?这会让2个浮点数组更容易吗?但是这不会使开销增加一倍吗?我应该支持哪一个?他们还说,除非它是不可变的,否则不要使用结构。是不是更新被认为是“可变性”的每一帧?感谢回复 – Hadi
@UmairM'class'的每个实例都是一个**对象**。一个对象在堆上由*对象头*加上实际数据组成的空间分配。值类型被分配*作为其他东西的一部分*,并且没有对象头 - 类型通过拥有它的东西隐含。在数组的情况下,类型被数组*的类型隐含*。当你有数千或数百万的小数据时,这种差异就会加起来。 –
- 1. AndEngine Vector2类
- 2. 结构或类带构件
- 3. 保留点(2)或Vector2(2)加入点(1)或Vector2(1)
- 4. C++中的Vector2类
- 5. R类别或结构
- 6. 委托是类或结构
- 7. Vector2财产X或Y
- 8. XNA - 跨类访问vector2
- 9. 结构或类似的子类
- 10. Swift:结构,或不结构
- 11. C# - 重置结构的类或结构的值
- 12. 指针类型的结构或指针的结构?
- 13. 查询结构或类的成员
- 14. 如何使用匿名结构或类?
- 15. 结构或类,公共数据呢?
- 16. Matrix 4x4对象的结构或类
- 17. 创建涉及多个类或结构
- 18. Doxygen:添加新类型或结构
- 19. 什么Vector2.Transform()和Vector2.TransformNormal()在XNA(C#)
- 20. 类型参数化或结构子类型或
- 21. 结构或指针的结构?
- 22. SFML中缺少sf :: Vector2类模板
- 23. 从另一个类中调用vector2
- 24. automapper类结构
- 25. C++类结构
- 26. 结构类型
- 27. 类别结构
- 28. 类结构
- 29. 结构与类
- 30. 结构与类
我投票**结构** – MrClan
我不明白的是,你给你的问题的Unity3D标签。在引擎中已经有一个Vector2/3/4结构,所以不需要创建自己的结构。 – Everts
我认为不断的更新使得一个类比一个结构更好,所以我应该做一个新的Vector2类 – Hadi