Пространства имён
Варианты
Действия

std::auto_ptr

Материал из cppreference.com
< cpp‎ | memory
 
 
 
Динамическое управление памятью
Низкоуровневое управление памятью
Аллокаторы
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
Неинициализированные хранилища
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Умные указатели
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(устарело)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Поддержка сборки мусора
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Разное
pointer_traits(C++11)
addressof(C++11)
align(C++11)
Библиотека C
 
 
Определено в заголовочном файле <memory>
template< class T > class auto_ptr;
(1) (устарело)
template<> class auto_ptr<void>
(2) (устарело)

auto_ptr – умный указатель, который управляет объектом, полученным с помощью оператора new и удаляет этот объект, когда auto_ptr будет уничтожен. Данный указатель может быть использован с целью обеспечения безопасности исключений для динамически создаваемых объектов, для передачи владения динамически созданными объектами в функции и для возвращения динамически созданных объектов из функций.

Копирование auto_ptr копирует указатель и передает владение объекту назначения: конструктор копирования и операция присваивания копированием auto_ptr изменяют правый аргумент операции, таким образом "копия" становится не равной оригиналу. Из-за столь необычного подхода к копированию auto_ptr не может быть помещен в стандартные контейнеры. Для этих и других целей предпочтительнее использовать std::unique_ptr.

2) Специализация для типа void, она объявляет typedef element_type, но не содержит функций-членов.

Содержание

[править] Типы-члены

Тип члена Определение
element_type T

[править] Функции-члены

создает новый auto_ptr
(public функция-член)
уничтожает auto_ptr и управляемый объект
(public функция-член)
получение владения от другого auto_ptr
(public функция-член)
преобразует управляемый указатель в указатель на другой тип
(public функция-член)
Модификаторы
уничтожение управляемого объекта
(public функция-член)
освобождение от владения управляемым объектом
(public функция-член)
Наблюдатели
получает указатель на управляемый объект
(public функция-член)
доступ к управляемому объекту
(public функция-член)