Учитывая тип C, тип Holder считается держателем C, если выражение Holder::get() возвращает ссылку на инициализированный по умолчанию объект C, уникальный для Holder. Ни один вызов Holder::get(), за исключением, возможно, первого в программе, не бросает. flyweight в частном порядке использует держатель для мгновенных данных factory и некоторых дополнительных данных (например, mutex для внутренней синхронизации), уникальных для каждого типа мгновенных данных шаблона класса.
holders - это синтаксическая конструкция, предназначенная для указания на то, что T является спецификатором держателя, не прибегая к механизмам, предусмотренным is_holders шаблон класса.
intermodule_holders_class поддерживает экземпляр C, который уникален даже для различных динамически связанных модулей программы с использованием этого же типа. В общем, эта гарантия не предоставляется static_holders_class, так как большинство реализаций C++ не в состоянии объединить дубликаты статических переменных, хранящихся в различных динамических модулях программы.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.