Piccolo dubbio del C++
Sappiamo che permette gli overloading degli operatori.
Mettiamo caso ho una struct chiamata Mtr e ho fatto una funzione che permette di moltiplicarla ad un'altra. questa può essere usata cosi.
codice:
Mtr C;
C.x = 2;
C.y = "Salve";
//altri valori...
Mtr B;
Mtr.x = 10;
Mtr.y = "Giorno";
//altri valori
Mtr A = MulMtr(&B,&C);
Come potete vedere questa funzione effettua una moltiplicazione e memorizza in A.
Mettiamo caso io implementi un overloading di operatore.
codice:
struct Mtr
[
//dati membro
Mtr operator* (Mtr y)
[
return MulMtr(this,&y);
]
];
Per ottimizzare al massimo le prestazioni, sarà meglio usare
Mtr A = MulMtr(&B,&C);
oppure
Mtr A = B * C;
Io credo sia meglio la prima poichè con l'overloading dell'operatore vado ad allocare due funzioni, no?
Thank you!