2012-01-23 16 views
9

Qualcuno ha una sintesi delle dichiarazioni boilerplate per C++ overloading degli operatori? Un pdf di una pagina sarebbe carino. Sarebbe utile noi persone smemorati doversi fermare e pensare a dove mettere il nostro eccC++ operator overloading bigino

+0

uno potrebbe anche aiutare gli studenti indipendenti (come me) non impazzire (sì, proprio come me;)) – BlackBear

+7

comprensione è quasi sempre meglio di copia. – AJG85

+6

Gli aiuti alla comprensione e alla produttività non sono l'esclusività reciproca. – Duck

risposta

4

Wikipedia ha una voce di abbastanza piacevole:

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B

Completo di prototipi per le funzioni sia membro e globali, se del caso.

+0

+1 Questo è fantastico. Lo uso sempre. –

+0

Questo è quello che uso. –

+0

Che quasi esattamente quello che stavo cercando.Ho solo bisogno di qualcuno per condensarlo in un documento utile che posso portare in viaggio. Potrebbe far fare uno dei miei scagnozzi. Qualche suggerimento per un buon posto per ospitare e condividere tale documento? – wxffles

0

Lo SPARKCHARTS C++ foglio di riferimento const e & e friend ha una bella mini-riassunto di overloading degli operatori. Sono stati abbastanza gentili da metterlo sul Web:

C++ Operator Overloading

+3

... e non stanno usando 'const' giusto, quindi questo in realtà non risponde alla domanda dell'OP . –

+0

vale la pena verificare la correttezza delle costanti – AJG85

+0

. La correttezza di Const merita di essere presa in considerazione. Come dovresti riscrivere il sommario di Sparkchart per includere la correttezza const? (In effetti, come potrebbe un mago di C++ riscrivere il sommario di Sparkchart per essere, in generale, più utile?) – ahoffer

1

Sommario:

  • assegnazione e composti operatori di assegnazione devono essere membri, non amici.

  • Utilizzare l'idioma di copia e-swap e pass-by-value per operatori di assegnazione. Questo ti offre un'eccezione di sicurezza e gestisce il caso "assegna-a-te".

  • Operatori dove la classe personalizzata può apparire come uno degli operandi deve essere amici.

+0

Non esattamente quello che cercavo, ma fai alcuni buoni punti che dovrebbero essere inclusi in un cheat sheet. – wxffles