1
我正在檢查某人的代碼,並提出了兩個有趣的運算符重載方法。我不清楚爲什麼編碼器必須編寫第二種方法。爲什麼在Vector3D類中有相同的操作有兩種不同類型的操作符重載?
第一:
inline Vector3D operator-(const Vector3D &a, const Vector3D &b) {
return Vector3D(a.getX() - b.getX(), a.getY() - b.getY(), a.getZ() - b.getZ());
}
二:
inline Vector3D operator-(const Vector3D &a) {
return Vector3D(-a.getX(), -a.getY(), -a.getZ());
}
我明白第一個是在這裏做,但需要在第二個方法呢?如果是,它有什麼作用?
你如何使用它來否定矢量? –
剛剛添加了一個示例。 –
爲什麼它只是應該否定向量而引用一個參數? 聲明: Vector3D negatedV = -3v 不能正常工作? –