Condividi tramite


Corrispondenza dell'argomento e il puntatore questo

Funzioni membro di classe vengono gestite in modo diverso, a seconda che sono dichiarate come static.Poiché le funzioni non statiche con un argomento implicito che fornisce this il puntatore, funzioni non statiche viene considerato come avente un nuovo argomento che le funzioni statiche; in caso contrario, vengono dichiarate in modo identico.

Queste funzioni membro non static richiedono che implicito this la corrispondenza del puntatore il tipo di oggetto tramite il quale la funzione chiamata, o, per gli operatori di overload, è necessario che la prima corrispondenza dell'oggetto sul quale viene applicato l'operatore.(Per ulteriori informazioni sugli operatori di overload, vedere operatori di overload).

A differenza di altri argomenti delle funzioni in overload, nessun oggetto temporaneo viene presentato e non è effettuata quando si tenta di confrontare this argomento del puntatore.

quando – > l'operatore di selezione dei membri viene utilizzato per accedere a una funzione membro, this l'argomento del puntatore è un tipo di class-name * const.Se i membri sono dichiarati come const o volatile, i tipi sono const class-name* const e volatile class-name * const, rispettivamente.

. l'operatore di selezione dei membri funziona esattamente la stessa modalità, ad eccezione del fatto che una pretesa & (indirizzo-di) l'operatore è preceduta al nome dell'oggetto.Nell'esempio seguente viene illustrato come questo procedure:

// Expression encountered in code
obj.name

// How the compiler treats it
(&obj)->name

L'operando sinistro di –>* e .* (puntatore a membro) gli operatori vengono trattati allo stesso modo di . e –> operatori (selezione dei membri) rispetto alla corrispondenza dell'argomento.

Vedere anche

Riferimenti

Corrispondenza dell'argomento