Я - примерно сделанная Koenig & Moo's Accelerated C ++, и в Главах 13 и 14 они размечают идею и реализацию нескольких классов Дескриптора (простой, совместно использованный, считаемая ссылка).
Классы инкапсулируют необработанный указатель и абстрагируют выделение / освобождение динамических объектов далеко от клиентского кода для предотвращения всех опасностей необработанных указателей, также разрешающих пользователю разыменовать их для доступа к резкому для возражения. В основном 'более безопасный' способ взаимодействовать через интерфейс с необработанными ресурсами памяти.
Классы представлены в этих главах по существу реализации интеллектуальных указателей? Интеллектуальные указатели все еще довольно плохо мне знакомы, но от того, что я понимаю, эти классы Дескриптора выполняют ту же функцию.
Править
Я должен добавить, что классы, которые они разрабатывают в этих главах, являются шаблонными классами, таким образом, они не связываются с определенным ресурсом, как в они не разрабатывают определенный класс FileHandle, например.
Код в первом фрагменте кода здесь, 7.1, в значительной степени, что они вошли в главы, к которым я обращаюсь.