Capisco la maggior parte overloading degli operatori, con l'eccezione degli operatori di accesso utente ->, .*, ->*etc.
In particolare, cosa viene passato a queste funzioni dell'operatore e cosa deve essere restituito?
In che modo l'operatore (ad es. operator->(...)) Sa a quale membro viene fatto riferimento? Può saperlo? Deve nemmeno saperlo?
Infine, ci sono delle considerazioni che devono essere prese in considerazione? Ad esempio, quando sovraccarichi qualcosa del genere operator[], generalmente avrai bisogno sia di una versione const che di una non-const. Gli operatori di accesso dei membri richiedono versioni const e non const?
conste non sono richiesteconst versioni di , ma fornire entrambi può essere utile. operator->
->*e .*. In realtà, non li menziona nemmeno! Sento che sono rari essere in una FAQ, ma collegherei volentieri questa domanda dalle FAQ. Si prega di non chiudere questo come duplicato delle FAQ!