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
risposta
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.
+1 Questo è fantastico. Lo uso sempre. –
Questo è quello che uso. –
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
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:
... e non stanno usando 'const' giusto, quindi questo in realtà non risponde alla domanda dell'OP . –
vale la pena verificare la correttezza delle costanti – AJG85
. 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
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.
Non esattamente quello che cercavo, ma fai alcuni buoni punti che dovrebbero essere inclusi in un cheat sheet. – wxffles
- 1. C++ template friend operator overloading
- 2. C++: Operatore di overloading =
- 3. overloading dell'operatore C++
- 4. C# String overloading degli operatori
- 5. C++ operator ":?"
- 6. Operatore di overloading in C++ e dereference
- 7. C++ std :: set Trova funzione overloading == operatore
- 8. Operatore di overloading -> * in C++
- 9. Char to Operator C++
- 10. templated operator() overload C++
- 11. Objective-C the^operator
- 12. Operator [] C++ Get/Set
- 13. overloading di funzioni in C++
- 14. overloading degli operatori << - C++
- 15. overloading degli operatori in C++ come int + obj
- 16. overloading degli operatori ->
- 17. overloading new/delete
- 18. Python vincolante per C operatore ++ overloading
- 19. C++ overloading dell'operatore, definizione negativa dell'oggetto
- 20. C++ 0x: overloading su lambda arity
- 21. R, R6 overloading degli operatori
- 22. Cosa ne pensi di ?? = operator in C#?
- 23. C# Namespace Qualificatore alias (: :) vs Dereferencing Operator (.)
- 24. overloading << operatori e classi ereditate
- 25. overloading degli operatori nuovi ed eccezione correttezza
- 26. Stringize operator failure
- 27. groovy^operator
- 28. Typescript & operator
- 29. jQuery @ operator?
- 30. Perché è possibile utilizzare operator = ma non operator == con gli inizializzatori di bretelle C++ 11?
uno potrebbe anche aiutare gli studenti indipendenti (come me) non impazzire (sì, proprio come me;)) – BlackBear
comprensione è quasi sempre meglio di copia. – AJG85
Gli aiuti alla comprensione e alla produttività non sono l'esclusività reciproca. – Duck