::auto_ptr std std::unique_ptr
Yeni standart geliyor (ve bazı parçaları derleyici zaten mevcut), yeni tip std::unique_ptr
std::auto_ptr
için bir yedek olması gerekiyordu.
Yok kullanımlarını tam olarak üst üste (yani yapabileceğim bir küresel bul/değiştir benim kod o değil de ben böyle bir şey yapabilir, ama eğer ben yaptım)) yoksa ben farkında olun bazı farklılıklar vardır belli bir okuma belgeleri?
Ayrıca eğer sadece std::auto_ptr
geliştirmek yerine doğrudan yerine yeni bir isim verin (neden).
CEVAP
Bir küresel auto_ptr
(bilinen sonuçları ile) kopyalayabilirsiniz çünkü bul/değiştir, ama unique_ptr
sadece hareket ettirilebilir bir olamaz. Gibi görünen bir şey
std::auto_ptr<int> p(new int);
std::auto_ptr<int> p2 = p;
en azından böyle olmak zorunda kalacaktır
std::unique_ptr<int> p(new int);
std::unique_ptr<int> p2 = std::move(p);
Diğer farklar için unique_ptr
diziler doğru (auto_ptr
delete
aramayı dener. delete[]
, çağırır işleyebilir gibi
Neden auto_ptr önerilmiyor?...
Neden std kullanmak yanlış mı::auto_pt...
Neden bir vektör içine bir unique_ptr ...
Neden unique_ptr bir tür parametresi s...
Unique_ptr taşıdıktan sonra nullptr sa...