Seite 1 von 1

[C++] std::unique_ptr alternative für VS2008

Verfasst: 05.02.2013, 16:44
von Matthias Gubisch
Hallo zusammen

ich bin hier leider an VS2008 (und den dazugehörigen Kompiler gebunden)

Ich bin auf der Suche nach einem Smartpointer mit dem gleichen verhalten wie std::unique_ptr

Gefunden habe ich bisher:

boost::shared_ptr und std::tr1::shared_ptr:
Referenzzählung wird nicht benötigt, also eigentlich nicht ganz das was ich will

std::auto_ptr:
Ziemlich unintuitiv, vor allem dass bei jedem Copy der Besitzer wechselt, irgendwie auch nicht das ware.

boost::scoped_ptr
Prinzipiell schon nahe dran, kann allerdings sowie ich das verstanden habe nicht in STL-Containern gespeichert werden -> wär allerdings wichtig.

Hat jemand noch weitere Alternativen, oder schon mal versucht die unique_ptr implementierung von VS2012 unter VS2008 zu nutzen?

Re: [C++] std::unique_ptr alternative für VS2008

Verfasst: 05.02.2013, 17:00
von CodingCat
Bei Containern hast du ohne ein Minimum an C++11-Support (R-Value-References) leider keine Chance. Das ist ärgerlich, weil das mitunter an dem übermäßig verschlossenen STL-Design liegt, lässt sich ohne eigene Container-Klassen aber nicht ändern. Am nächsten kommst du mit den Boost Pointer Container Adaptern, ansonsten müsstest du tatsächlich Referenzen zählen.