std::swap
-
std::swap ist ja auch so ein STL Container?
-
Morgen,
std::swap ist eine Funktion.
mfg
v R
-
danke. heißt das das man auch std::auto_ptr in den swap container packen kann?
-
swap ist kein container. swap ist eine FUNKTION
aber wenn du meinst, ob du auto ptr an swap als argument übergeben kannst: ja das geht,immerhin hat der auto_ptr den op= überladen,machen würd ichs aber trotzdem nicht^^
-
otze schrieb:
aber wenn du meinst, ob du auto ptr an swap als argument übergeben kannst: ja das geht
Nö. Zumindest nicht nach dem aktuellen C++ Standard.
std::swaps Template Parameter müssen "assignable" sein (25.2.2). std::auto_prt erfüllt diese Anforderung aber nicht (20.4.5/3).
-
Viele Implementierungen werden auto_ptr in swap zulassen, aber laut Standard verlangt swap einen Typ, der das Assignable-Konzept erfüllt, was bei auto_ptr wegen des fehlenden Copy-Konstruktors nicht der Fall ist. Also nein, auto_ptr und swap gehen nicht zusammen, auch wenn dir dein Compiler was anderes weismachen will - das Verhalten des Aufrufs ist vom Standard undefiniert.
Oh, und swap ist eine Funktion, kein Container.