[ANN] boost 2: shared_ptr wraps resource handles
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 05.10.04 05:00
Оценка:
boost 2: shared_ptr wraps resource handles

Windows Resources, like GDI Handles, are hard to manage correctly without creating leaks. This article shows how smart pointers can simplify this, and almost eliminate a major source of errors. It continues my previous article, Smart Pointers to boost your code, providing a practical example for using shared_ptr. (If you are not familiar with boost::shared_ptr, you should read it now!)


P.S. — 2moderator(s)
Сорьки за кросс-пост
Автор: SchweinDeBurg
Дата: 05.10.04
, но статья в равной мере относится как к плюсАм, так и к АПИ.
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re: [ANN] boost 2: shared_ptr wraps resource handles
От: Кодт Россия  
Дата: 05.10.04 09:53
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

<>

Я только не понял, почему именно shared_ptr, а не intrusive_ptr, ведь хэндлы системных объектов сами умеют подсчитывать ссылки (DuplicateHandle/CloseHandle)?
Перекуём баги на фичи!
Re[2]: [ANN] boost 2: shared_ptr wraps resource handles
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 05.10.04 10:21
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Я только не понял, почему именно shared_ptr, а не intrusive_ptr, ведь хэндлы системных объектов сами умеют подсчитывать ссылки (DuplicateHandle/CloseHandle)?


Может быть, причина в том, что DuplicateHandle() не работает с объектами GDI, а автор хотел все сделать универсально?
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[2]: [ANN] boost 2: shared_ptr wraps resource handles
От: Шахтер Интернет  
Дата: 05.10.04 19:41
Оценка: +1
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, SchweinDeBurg, Вы писали:


<>>

К>Я только не понял, почему именно shared_ptr, а не intrusive_ptr, ведь хэндлы системных объектов сами умеют подсчитывать ссылки (DuplicateHandle/CloseHandle)?


Да? А сколько такой подсчет ссылок стоит? К тому же, инкрементировать счётчик ссылок DuplicateHandle -- всё равно что забивать гвозди микроскопом.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re: [ANN] boost 2: shared_ptr wraps resource handles
От: c-smile Канада http://terrainformatica.com
Дата: 06.10.04 03:02
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>

SDB>Windows Resources, like GDI Handles, are hard to manage correctly without creating leaks. This article shows how smart pointers can simplify this, and almost eliminate a major source of errors. It continues my previous article, Smart Pointers to boost your code, providing a practical example for using shared_ptr. (If you are not familiar with boost::shared_ptr, you should read it now!)


Чего-то не внушает... Слишком все прямолинейно как-то.

Поверхностно глядя вот это
http://www.codeproject.com/cpp/GE_Nlib_1.asp
вроде как лучше выглядит.
Re[3]: [ANN] boost 2: shared_ptr wraps resource handles
От: Кодт Россия  
Дата: 06.10.04 08:59
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Да? А сколько такой подсчет ссылок стоит? К тому же, инкрементировать счётчик ссылок DuplicateHandle -- всё равно что забивать гвозди микроскопом.


Ну... тоже верно.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.