速度と効率の観点から: ベストプラクティスと見なされるのは、一時オブジェクトを作成するか、(おそらく一時的な) 引数オブジェクトを分解することですか?
この例では、関数の実装は DRY 目的では相互に排他的です。どちらも示されているようには実装されませんが、一方は実際の作業を委任する他方に関して実装されます。
void SetPoints(double xA, double yA, double xB, double yB, double xC, double yC);
void SetPoints(const Point& A, const Point& B, const Point& C);
///Option one: create temporary objects:
void SetPoints(double xA, double yA, double xB, double yB, double xC, double yC) {
SetPoints(Point(xA, yA), Point(xB, yB), Point(xC, yC));
}
//Option two: decompose object arguments
void SetPoints(const Point& A, const Point& B, const Point& C) {
SetPoints(A.GetX(), A.GetY(), B.GetX(), B.GetY(), C.GetX(), C.GetY());
}