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 expression
, и удаляет этот объект, когда сам
auto_ptr
уничтожается. Он может использоваться для обеспечения безопасности исключений для динамически выделенных объектов, для передачи владения динамически выделенными объектами в функции и для возврата динамически выделенных объектов из функций.
Копирование
auto_ptr
копирует указатель и передаёт владение целевому объекту: как копирующее конструирование, так и копирующее присваивание
auto_ptr
модифицируют свои правые аргументы, и "копия" не равна оригиналу. Из-за этой необычной семантики копирования,
auto_ptr
не может быть помещён в стандартные контейнеры.
std::unique_ptr
предпочтителен для этого и других случаев использования.
(since C++11)
element_type
, но не содержит функций-членов.
Дополнительный шаблон класса
auto_ptr_ref
упоминается во всей документации. Это тип, определяемый реализацией, который хранит ссылку на
auto_ptr
. Реализации разрешено предоставлять шаблону другое имя или реализовывать функции, возвращающие его или принимающие его в качестве параметра, другими способами.
Содержание |
Типы членов
| Тип члена | Определение |
| element_type | T |
Функции-члены
создает новый
auto_ptr
(публичная функция-член) |
|
уничтожает
auto_ptr
и управляемый объект
(публичная функция-член) |
|
передает владение от другого
auto_ptr
(публичная функция-член) |
|
|
преобразует управляемый указатель в указатель на другой тип
(публичная функция-член) |
|
Наблюдатели |
|
|
возвращает указатель на управляемый объект
(публичная функция-член) |
|
|
получает доступ к управляемому объекту
(публичная функция-член) |
|
Модификаторы |
|
|
заменяет управляемый объект
(публичная функция-член) |
|
|
освобождает владение управляемым объектом
(публичная функция-член) |
|