Auto ptr: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
→Semantyka: int |
|||
Linia 1:
{{małą literą|auto_ptr}}
'''auto_ptr''' to [[Szablon klasy|wzorzec klasy]] [[sprytny wskaźnik|sprytnego wskaźnika]] dostępny w [[biblioteka standardowa C++|bibliotece standardowej C++]] (zadeklarowany w nagłówku <memory>) udostępniający podstawową funkcjonalność [[Resource Acquisition Is Initialization|RAII]] dla zwykłych surowych [[
Wzorzec klasy auto_ptr opisuje obiekt przechowujący wskaźnik do zaalokowanego obiektu typu Typ*, dbając o to żeby obiekt na który ten wskaźnik wskazuje został automatycznie zniszczony wraz ze zniszczeniem wskaźnika − czyli zazwyczaj po opuszczeniu zasięgu.
W większości sytuacji preferowany zamiast auto_ptr jest wzorzec [[
== Deklaracja ==
Linia 59:
</pre>
Ten kod wypisze dla pierwszego obiektu auto_ptr adres [[null|NULL]] i inny adres dla drugiego, pokazując, że obiekt źródłowy utracił referencje podczas przypisania (=). Nie powinno się wykonywac operacji delete na źródłowym wskaźniku i, bo zostanie on usunięty przez drugi auto_ptr.
Trzeba zauważyć, że obiekt wskazywany przez auto_ptr jest usuwany przez operator delete; oznacza to że auto_ptr można używać tylko dla wskaźników uzyskanych przez operator new. Wyłącza to wskaźniki zwracane przez [[malloc|malloc/calloc/realloc]] i operator new[].
|