Powiel możliwe:
std::auto_ptr to std::unique_ptr
What C++ Smart Pointer Implementations are available?unique_ptr VS auto_ptr
Powiedzmy mam ten struct
:
struct bar
{
};
Gdy używam auto_ptr tak:
void foo()
{
auto_ptr<bar> myFirstBar = new bar;
if()
{
auto_ptr<bar> mySecondBar = myFirstBar;
}
}
następnie w auto_ptr<bar> mySecondBar = myFirstBar;
C++ przenoszącej własność z myFirstBar do mySecondBar i nie ma błędów kompilacji.
Ale gdy używam unique_ptr zamiast auto_ptr otrzymuję błąd kompilatora. Dlaczego C++ na to nie pozwala? I jakie są główne różnice między tymi dwoma inteligentnymi wskaźnikami? Kiedy muszę użyć czego?
Zobacz http://stackoverflow.com/questions/5026197/what-c-smart-pointer-implementations-are-available – hmjd