2011-12-14 10 views
8

C++ consente puntatori di funzioni e function references. Permette anche funzioni da puntatore a membro.Il C++ supporta i riferimenti alle funzioni membro?

Ma consente le funzioni di riferimento ai membri?

Non riesco a dedurre le regole dallo standard e non sono riuscito a far funzionare un programma con loro.


[member function pointers] [member function references]

+0

A parte l'aspetto intrigante di esso, c'è qualche applicazione pratica di questa caratteristica che si pensa che questo sarebbe bisogno? –

+0

@Als: se volessi utilizzare i riferimenti anziché i puntatori. –

+1

Penso che dovrebbe essere vietato rispondere alle tue stesse domande. –

risposta

6

[C++11: 8.3.3/3]: Un puntatore a membro non deve puntare ad un statico membro di una classe (9.4), un membro di tipo di riferimento, o “cv vuoto. "[ Nota: Vedere anche 5.3 e 5.5. Il tipo "puntatore al membro" è distinto dal tipo "puntatore", ovvero un puntatore al membro è dichiarato solo dal puntatore alla sintassi del dichiaratore membro e mai dalla sintassi del dichiaratore . Non esiste un tipo "reference-to-member" in C++.-end nota]

+1

Hai appena trovato questo o lo sapevi da sempre? :) –

+0

@AmigableClarkKant: Se sono onesto, l'ho trovato a metà della stesura della domanda. :) –

+1

Succede anche a me. È bene documentare anche queste cose qui in SO. –