Dlaczego korzystanie std::auto_ptr<>
ze standardowych pojemników jest niewłaściwe ?
move
semantyczne i unique_ptr
zostały zaprojektowane w celu uniknięcia problemów związanych z auto_ptr
. W C ++ 03 język nie był wystarczająco silny, aby napisać taką klasę, auto_ptr
która zachowuje się poprawnie i bezpiecznie we wszystkich scenariuszach, ponieważ kompilator i język nie były w stanie rozróżnić wartości l i r, więc użyto niektórych „hacków”, aby uzyskać pożądane zachowanie większość czasu.