Newsgroup: it.comp.lang.c++
Titolo: operator +

Tra tutti gli operatori questo lo odio.
Class& operator+ (Class& other)
{
     Class tmp;
     crea il risultato
     return tmp;
}
Non è possibile restituire il riferimento ad una variabile locale.
Hai ragione, vabe allora

 wrote in message
news:a3jvum$f9p$1...@lacerta.tiscalinet.it...

quindi dicevo provo un altro modo
Class operator+ (Class& other)
 {
      Class tmp;
      crea il risultato
      return tmp;
 }
e va bene, se però la classe contiene variabili dinamiche ed il distruttore
è fatto in modo di distruggerle quando si scarica l'oggetto allora perdo
buona parte dei miei dati ed il risultato non sarà pulito.
Esiste un modo astuto di implementare l'overloading di questo operatore in
generale, oppure è necessario implementarsi qualche conteggio dei
riferimenti per evitare di distruggere le variabili dinamiche anzitempo?
E nel caso l'uso di conteggio dei riferimenti fosse l'unica possibilità, è
una soluzione pulita o brutta? Se non fosse una brutta idea, dove trovare
info su come implementare un buon conteggio dei riferimenti usando
l'overloading degli operatori?
Comincio a capire perchè in Java non esista questa possibilità (però li c'è
un GC automatico).

 snip
Ciao,
secondo me con il conteggio dei riferimenti ti creeresti solo problemi.
Come dice Scoot Meyers nel suo Effective C++, e' preferibile ritornare per
valore il risultato (come stai facendo tu), anche se si paga con la
costruzione, con la copia e con la distruzione dell'oggetto.
Per risolvere poi  il problema delle eventuali variabili dinamiche da
distruggere evitando memory leaks e eliminazioni premature, potresti usare
gli auto puntatori: auto_ptr che ti tolgono il problema del delete in quanto
questa viene fatta automaticamente.
Maurus

Grazie.
Sto uscendo a comprare il libro di Stroustrup per capire qualcosa su
auto_ptr.


 > Ciao,
Non farlo!
Compra il libro di Lippman-Lajoie piuttosto
Maurus

Me lo sconsigli perchè troppo complicato o perchè povero di contenuti
rispetto all'altro?
Io cercavo una cosa che contenesse una reference del linguaggio alla K&R per
intenderci, non so se mi spiego + una reference completa della libreria
standard.


 standard.
Non trovi queste cose in un singolo libro. Secondo me lo Stroustrup e'
un ottimo libro, ma certamente non e' per principianti, mentre il
Lippman Lajoie e' un po' piu' abbordabile. Per la libreria standard
l'unica alternativa seria e' "The C++ Standard Library" di Nicolai
Josuttis.
Ciao,
Nicola

Grazie a tutti, infatti pensavo di doverne acquistare più d'uno, quindi
faccio prima un salto in biblio all'università, poi in futuro si vedrà se
infoltire la libreria personale.
La difficoltà del libro non mi spaventa, anzi, mi stimola.
Grazie Nicola e Mauro.


 auto_ptr.
Stroustrup non dedica molto spazio ad esso nel suo libro.
Se vuo approfindirlo meglio Exceptional C++ di Sutter.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 Se vuo approfindirlo meglio Exceptional C++ di Sutter.
Ho visto che esiste anche un "More Exceptional C++" sempre di Sutter.
Che differenza c'e'  tra i due libri?
--
Gerolamo

 Che differenza c'e'  tra i due libri?
che sono due libri diversi :-)
Il secondo e` la continuazione del primo: ne ho sentito parlare bene, ma 
non l'ho ancora letto dato che la libreria non riesce a farmelo arrivare 
:-(


 :-(
Su 
www.gorilla.it
 lo trovi a 42.35 Euro
--
Gerolamo

 Ci sono altri libri che mi consiglieresti?
Se vuoi continuo... :-)
Ciao,
Nicola

Nicola
Ciaoi ;-)
Si continua che me lis to segnando tutti...  :-)
Sto studiando anche io il C++ e sto leggendo C++ Primer
Ciao e Grazie ;-)

 Se vuoi continuo... :-)
no no!!! pietā per le mie finanze!!! :-)
--
Gerolamo

 Si continua che me lis to segnando tutti...  :-)
Te lo sei voluto :-)
Matt Austern, "Generic Programming & the STL", Addison Wesley
In parte riprende la documentazione della libreria STL della SGI
(
http://www.sgi.com/tech/stl/
), ma la parte introduttiva non e' niente
male.
Scott Meyers, "Effective STL", Addison Wesley
Non brutto, ma non all'altezza degli altri.
James Coplien, "Multiparadigm Design for C++", Addison Wesley 
Un po' ostico, ma fondamentale, piu' sul design che sul C++.
James Coplien, "Advanced C++ Programming Styles & Idioms", Addison
Wesley
Un po' invecchiato, ma vale ancora la pena di leggerlo.
Ciao,
Nicola

 Adesso ci aggiungo il More Exceptional C++.
penso che sarebbe meglio partire da Effective C++: tratta molti 
argomenti fondamentali, non troppo complessi, ma assolutamente 
imprescindibili.
More Effective C++ e Exceptional C++ sono piu` o meno allo stesso 
livello di difficolta`, ma penso che se trovi tempo e soldi dovresti 
leggerli entrambi. More Exceptional C++ non lo conosco, ma credo sia 
meglio leggerlo dopo aver letto il primo volume.
