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 Vector3 v = v1 + v2;
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Vector3 v(v1); v1.add(v2);
Partager