auto_ptr Zuweisung
-
Hallo zusammen,
ich fange gerade an mich mit Smartpointern zu beschäftigen und stehe vor einem Problem.
auto_ptr<Connection> con; try { .... con = feeddata->driver->connect(server, user, password); } ....
Irgendwie weiß ich gerade nicht, wie ich con nachträglich zuweisen kann. Muss ich das mit reset() machen oder geht das auch "charmanter"?
Gruß
-
Wenn von connect() ein kompatibler Smartpointer zurück kommt, dann kannst du einfach "=" machen.
Wenn ein roher Zeiger zurückkommt, dann reset().Und tu dir selbst einen Gefallen und vergiss dass es auto_ptr gibt.
Wenn du C++11 verwenden kannst nimm std::unique_ptr.
Sonst nimm boost::scoped_ptr/boost::unique_ptr.
-
Du hast Recht. connect liefert einen rohen Zeiger.
Dann mache ich es eben mit reset bzw mit unique_ptr.
Danke für den Tipp und schönen Abend noch!