2
對於我來說,似乎很明顯地想爲運營商增加超載,例如SCNMatrix4
和SCNVector3
,但Apple似乎選擇使用靜態全局函數(如SCNMatrix4Mult
)。儘管像矩陣乘法和向量加法這樣的操作符是微不足道的,但我想知道:爲什麼在SceneKit中沒有運算符重載?
- 是否有任何理由在Swift中避免這種重載?
- 是否有這樣的重載的任何規範庫?我發現這些:
- 有什麼更比下面的實現?
實施例實現:
func * (left: SCNMatrix4, right: SCNMatrix4) -> SCNMatrix4 {
return SCNMatrix4Mult(left, right)
}
func + (left: SCNVector3, right: SCNVector3) -> SCNVector3 {
return SCNVector3Make(left.x + right.x, left.y + right.y, left.z + right.z)
}