Bonjour,

J'aimerais comparer la qualit� du code gener� dans deux cas:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Vector3
{
public:
 
	union {
		struct { double x,y,z; };
		double _array[3];
	};
 
	Vector3() : x(0), y(0), z(0) {
	}
 
	Vector3( double ax, double ay, double az ) : x(ax), y(ay), z(az) {
	}
 
	const Vector3 operator+ ( const Vector3 & rhs ) const {
		return Vector3( x+rhs.x, y+rhs.y, z+rhs.z );
	}
 
	void add ( const Vector3 & rhs ) {
		x+=rhs.x;
                y+=rhs.y;
                z+=rhs.z;
	}
};
 
int main(int argc, char* argv[])
{	
	Vector3 v1( 10, 10, 10 );
	Vector3 v2( 1, 2, 3 );
 
        // vaut-il mieux
        v1 = v1 + v2;
 
        // ou bien
        v1.add( v2 );
}

D'apres le code gener� est-il couteux d'utiliser l'operateur + par rapport a la fonction add() ?

et dans le cas ou on veut stoker le resultat dans une autre variable:
ou
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
Vector3 v(v1);
v1.add(v2);
Merci d'avance pour votre aide.