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

std::auto_ptr

Материал из cppreference.com
< cpp‎ | memory
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
Динамическое управление памятью
no section name
Ограниченные алгоритмы неинициализированной памяти
no section name
Поддержка сбора мусора
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)



no section name
 
 
Определено в заголовочном файле <memory>
template< class T > class auto_ptr;
(1) (устарело в C++11)
(удалено в C++17)
template<> class auto_ptr<void>;
(2) (устарело в C++11)
(удалено в C++17)

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

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

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

Содержание

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

Тип элемент Определение
element_type T

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

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