Материалы книги получены с http://www.itlibitum.ru/
Шаблон слабого дескриптора
Слабый дескриптор устроен просто.
template <class Type>
class WH {
friend class Handle<Type>;
private:
BMP<Type>* pointer;
WH() : pointer(new BMP<Type> (new(object_space) Type)) {};
BMP<Type>& operator->() { return *pointer; }
};
Он используется в переменных классов, которые ссылаются на другие объекты.
class Foo {
private:
WH<Bar> bar; // При конструировании создает Bar + MP<Bar>
};
Назад Содержание Далее
|