Как использовать boost :: flyweight в качестве шаблона GOF?

Я не могу понять, как использовать boost::flyweight как шаблон GOF. Есть ли где-нибудь пример?

Например, я ожидаю это использование следующим образом. Должен быть какой-то контейнер с навесом, который состоит из «жирных» объектов. Этот контейнер может дать некоторый легкий «держатель / дескриптор» для некоторого объекта. И я могу хранить дескриптор в каком-то контейнере.

Я не могу понять, как получить «держатель / дескриптор» объекта от boost::flyweight,

1

Решение

Реализация шаблона не должна отображать 1: 1 в исходное описание шаблона. Это хорошая вещь, поскольку можно использовать языковые функции, недоступные в любом наборе функций, которые использовались GoF, сделать эту реализацию более производительной, менее многословной, более удобной в обслуживании и т. д. и т. д.

boost::flyweight является «легкий держатель / дескриптор»:

Boost.Flyweight упрощает использование этой распространенной идиомы программирования, предоставляя шаблон класса flyweight<T>, который выступает в качестве замены для замены const T,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]