Recentemente ho visto un esempio in una recensione di overloading dell'operatore in cui hanno parlato di come l'operatore + era essenzialmente una funzione con 2 parametri.C++ Come si chiama questo uso dell'operatore +? e qual è lo scopo?
Con un po 'di frugare ho deciso di guardare a questo un po' più profondo e ha scoperto che chiamando il numero + come una funzione effettivamente funziona, solo che non come ci si aspetterebbe ... ad esempio:
int first = 6;
int second = 9;
int result = +(second,first);//result=6
L'assemblaggio per questo è
int result = +(second,first);
mov eax,dword ptr [first]
mov dword ptr [result],eax
La chiamata a + sta semplicemente spostando l'ultimo parametro in eax.
Qualcuno può dirmi lo scopo di questo e/o di quello che viene chiamato?
bella domanda, lo metterò nella stessa categoria con (http://stackoverflow.com/questions/1642028/what-is-the-name-of-the-operator) – vsoftco
Avendo visto la risposta, penso che sia super fiera. Mi sento un idiota completo. – jhbh
In realtà non ero ironico :) È una domanda giusta e scommetto che molte persone sono prima indotte in errore da questa forma divertente, specialmente se hanno qualche background di programmazione funzionale. – vsoftco