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.
Come potete vedere questa funzione effettua una moltiplicazione e memorizza in A.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);
Mettiamo caso io implementi un overloading di operatore.
Per ottimizzare al massimo le prestazioni, sarà meglio usarecodice:struct Mtr [ //dati membro Mtr operator* (Mtr y) [ return MulMtr(this,&y); ] ];
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!

Rispondi quotando