【发布时间】:2017-04-26 12:55:57
【问题描述】:
假设我有一个Vector3 类,其中包含一个normalize() 方法。该方法是否应该返回一个新的Vector3,或者修改调用它的Vector3 实例(因此返回对自身的引用(Vector3&)?)在哪些情况下会优先选择一个?性能怎么样?
【问题讨论】:
-
您能添加一些代码示例吗?我不知道你在说什么,但我相信你可能有兴趣阅读this
-
竞争目标:正确性与性能(有时)。如果您使用不可变类型,则可以更轻松地编写正确的(并行)程序。如果您使用可变类型,您有时会获得一定的性能优势,一旦您尝试并行化,很可能会失去这种优势。然后是 80/20 规则。 80% 的代码不需要优化。那么为什么默认使用可变类型呢?先去不可变,然后看它是否有足够的性能,如果没有,再进行优化。
-
@BitTickler 回答,不评论...
-
@BitTickler 只有 80%?如果按代码行数计算,我非常保守的估计是大约 95% 不需要优化 :-)