Класс auto_ptr C++
Класс auto_ptr (automatic pointer - автоматический указатель). Данный класс предоставляется стандартной библиотекой STL С++ и предназначен для работы с объектами, которые обычно необходимо удалять явно (например, объекты, созданные динамически с помощью оператора new).
Для создания объекта класса auto_ptr параметром конструктора должен быть указатель на объект, созданный динамически. Дальше c auto_ptr можно работать почти как с обычным указателем, который указывает на тот же динамический объект, на который указывал исходный указатель.
Синтаксис класса auto_ptr в стандартной библиотеке STL выглядит так:
template<class X> class Std::auto_ptr { X* ptr; public: //конструктор и деструктор explicit auto_ptr(X* p = 0)throw() { ptr = p; } ~auto_ptr() throw() { delete ptr; } //оператор разыменования позволяет получить объект X& operator*()const throw() { return *ptr; } //оператор -> позволяет получить указатель X* operator->()const throw() { return ptr; } };
Рассмотрев общую конструкцию auto_ptr, полюбопытствуем, как он выглядит в работе:
#include <iostream> #include <memory> using namespace std; class TEMP{ public: TEMP(){ cout<<"TEMP\n\n"; } ~TEMP(){ cout<<"~TEMP\n\n"; } void TEST(){ cout<<"TEST\n\n"; } }; void main(){ // создаём два автоматических указателя // под один из них выделяем память типа TEMP auto_ptr<TEMP>ptr1(new TEMP), ptr2; // передача права владения ptr2=ptr1; // вызов функции через автоматический указатель ptr2->TEST(); // присваивание автоматического указателя // обычному указателю на объект класса TEMP*ptr=ptr2.get(); // вызов функции через обычный указатель ptr->TEST(); }
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга