009
03.02.2004, 12:50 Uhr
RHBaum
|
| Zitat: |
Aber was ist schon perfekt?
|
Darum gings mir nich .... Wenn ich mich naiv anstelle, nach dem lesen eurer Posts, folge eurem link, lese als erstes auto_ptr<> ! Erste Erkenntnis: vector<auto_ptr<MyClass> >. Ergebniss: compiler error! weitere Schritte: Den Thread auf das der link zeigt, gründlicher lesen und sich mit Anforderungen der container und verhalten des auto_ptr auseinandersetzen. Erkenntis: auto_ptr ist ned wirklich nen "Smartpointer" weil er sich ned wirklich "smart" verhaelt Pointer lassen sich kopieren und sind danach noch gueltig !!! weitere Erkenntnis: ich brauch nen richtigen Smartpointer! und die STL hat keinen ! moegliche wege: 1. ich vertraue virtual ! 2. ich bekomm boost bei mir zu laufen 3. ich krieg einen aus ner anderen lib 4. ich schreib selber einen 5. ich lass die finger von smartpointer, und nehm "richtige" zeiger.
Und jetzt sagst du, es ist doch so einfach ! Naja, ehrlich gesagt, das wirkliche problem ist das die STL keinen "anderen" Smartpointer hat (was auch seine Gruende hat). Und ned jeder hat lust, sich wegen so ner bloeden Containerklasse 25000 Abhandlungen uber c++ design zu lesen. Naja, frueher oder spaeter wird er es machen muessen, wenn er sich weiter mit c++ beschaeftigt. Aber in dem Stadium ... Versteh mich ned falsch, ich bin natuerlich nicht gegen "smartpointer", aber frueher oder spaeter faellt man damit auf die Nase, wenn man sie "blind" benutzt. Wenn man versteht, ists ne super Sache. Also vorher sollt man sich schon mit ExceptionsSicherheit, Exeptionneutralitaet etc. auseinandersetzen, schon allein, um die "wirklichen" Vorteile von smartpointer zu begreifen :-)
| Zitat: |
Siehst Du, und deshalb habe ich ja auch direkt den richtigen rausgesucht
|
Naturgemaess bin ich halt skeptisch, wenn andere Leute / Firmen fuer mich das richtige raussuchen ! Ok, das hat auch was mit Paranoia zu tun ... aber die sollte jeder Programmierer haben.
Ciao .... Dieser Post wurde am 03.02.2004 um 13:06 Uhr von RHBaum editiert. |