come funziona il segno e commerciale (&) in c ++?

Possibile duplicato:
Quali sono le differenze tra la variabile puntatore e la variabile di riferimento in C ++?

Questo mi confonde:

class CDummy { public: int isitme (CDummy& param); }; int CDummy::isitme (CDummy& param) { if (&param == this) { return true; //ampersand sign on left side?? } else { return false; } } int main () { CDummy a; CDummy* b = &a; if ( b->isitme(a) ) { cout << "yes, &a is b"; } return 0; } 

In C e di solito significa l’indirizzo di una var. Cosa significa qui? Si tratta di un modo elegante di notazione puntatore?

La ragione per cui sto assumendo che è una notazione di puntatore perché questo è un puntatore dopotutto e stiamo controllando l’uguaglianza di due puntatori.

Sto studiando da cplusplus.com e hanno questo esempio.