Spec-Zone.ru › C++

std::auto_ptr

Определено в заголовке <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 предоставлена, она объявляет typedef element_type, но не содержит функций-членов.

В документации используется дополнительный шаблон класса auto_ptr_ref. Это определяемый реализацией тип, который хранит ссылку на auto_ptr. Реализация может предоставить шаблону другое имя или реализовать функции, возвращающие его или принимающие его как параметр, другими способами.

Типы членов

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

Функции-члены

(конструктор)
создаёт новый auto_ptr
(публичная функция-член)
(деструктор)
уничтожает auto_ptr и управляемый объект
(публичная функция-член)
operator=
передает владение от другого auto_ptr
(публичная функция-член)
operator auto_ptr<Y>operator auto_ptr_ref<Y>
преобразует управляемый указатель в указатель на другой тип
(публичная функция-член)
Наблюдатели
get
возвращает указатель на управляемый объект
(публичная функция-член)
operator*operator->
получает доступ к управляемому объекту
(публичная функция-член)
Модификаторы
reset
заменяет управляемый объект
(публичная функция-член)
release
высвобождает владение управляемым объектом
(публичная функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/auto_ptr

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API