Форум программистов, компьютерный форум CyberForum.ru

Как использовать auto_ptr? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
21.02.2012, 22:05     Как использовать auto_ptr? #1
Ищу, ищу, но нигде не могу найти на русском, да и на буржуйском, толковое описание использования auto_ptr. Везде только какие-то сверхсложные для моего понимания конструкции, где один auto_ptr объект ссылается на другой, я так и с обычными указателями, вроде, не работаю. И всякие сложные, там, композиции этих auto_ptr наподобие:
C++
1
2
3
4
5
6
7
8
9
class A
{
   auto_ptr<B> ptr<new B>;
}
 
class B
{
   auto_ptr<A> ptr<new A>
}
И ничего не сказано про самое наибанальное и наираспростаненного использование, например, для сборки мусора в функции, про многомерные массивы, насколько отличается этот тип указателей от обычных, вопросы производительности, подводные камни и т.д.
P.S. да и вообще непонятно зачем объявлять auto_ptr в качестве элементов данных, ведь есть же ещё ведь, вроде, деструкторы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.02.2012, 22:22     Как использовать auto_ptr? #2
auto_ptr уже не входит в стандарный набор библиотек С++

Цитата Сообщение от Buckstabue Посмотреть сообщение
P.S. да и вообще непонятно зачем объявлять auto_ptr в качестве
элементов данных, ведь есть же ещё ведь, вроде, деструкторы
и чё? деструктор не занимается удаление самого объекта
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
21.02.2012, 22:32  [ТС]     Как использовать auto_ptr? #3
Ясно. А есть ли какие-нибудь стандартные библиотеки для сборки мусора?
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
21.02.2012, 23:26     Как использовать auto_ptr? #4
.net
HardMorg
2 / 25 / 3
Регистрация: 29.08.2010
Сообщений: 204
22.02.2012, 01:59     Как использовать auto_ptr? #5
Цитата Сообщение от Buckstabue Посмотреть сообщение
Ищу, ищу, но нигде не могу найти на русском, да и на буржуйском, толковое описание использования auto_ptr. Везде только какие-то сверхсложные для моего понимания конструкции, где один auto_ptr объект ссылается на другой, я так и с обычными указателями, вроде, не работаю. И всякие сложные, там, композиции этих auto_ptr наподобие:
C++
1
2
3
4
5
6
7
8
9
class A
{
   auto_ptr<B> ptr<new B>;
}
 
class B
{
   auto_ptr<A> ptr<new A>
}
И ничего не сказано про самое наибанальное и наираспростаненного использование, например, для сборки мусора в функции, про многомерные массивы, насколько отличается этот тип указателей от обычных, вопросы производительности, подводные камни и т.д.
P.S. да и вообще непонятно зачем объявлять auto_ptr в качестве элементов данных, ведь есть же ещё ведь, вроде, деструкторы
C++
1
2
3
4
5
6
7
8
int main() {
 
    { 
         auto_ptr<int> p(new int(5));
         cout << *p;
    }
    //  в этом участке кода память будет освобождена, потому что обьект р выйдет за область и вызовется конструктор который освободит память, нам не нужно писать delete ...
}
http://www.rsdn.ru/article/cpp/smartptr.xml
Yandex
Объявления
22.02.2012, 01:59     Как использовать auto_ptr?
Ответ Создать тему
Опции темы

Текущее время: 16:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru