Материалы книги получены с http://www.itlibitum.ru/
Производящие функции
Конечно, производящие функции пригодятся вам каждый раз, когда вы инкапсулируете производные классы. В приведенном выше фрагменте мы изменили производящую функцию так, чтобы она создавала два объекта - указатель и указываемое значение.
Обратите внимание: указываемый объект не создается в конструкторе указателя. Для этого существует веская причина. Вероятно, нам захочется использовать класс указателя PFoo для всех производных классов Foo. Это означает, что некто за пределами класса указателя (производящая функция) решает, что именно следует создать и спрятать в указателе.
В предыдущих главах, посвященных умным указателям, основное внимание уделялось шаблонам и обобщенным классам указателей, соответствующим классам указываемых объектов. С невидимыми указателями шаблоны уже не имеют никакого реального значения.
Все, что говорилось о производящих функциях и объектах классов в предыдущей главе, в равной степени относится и к невидимым указателям. Оптимизируйте и локализуйте, сколько душе угодно. Как правило, сам класс указателя в этом не участвует.
Назад Содержание Далее
|