Вопрос

В чем разница в базовом крючке и крюке участника в Boost :: навязчивая библиотека, и когда лучше использовать, то другой?

Я прочитал Boost Documentation, но не то, что объясняет.

Это было полезно?

Решение

Насколько я могу сказать, это вопрос стиля и объектно-ориентированного дизайна. Базовые крючки вторгаются на иерархию наследования, требуя дополнительных public Родительский класс и, возможно, принудительный на наследство на дизайн. Использование крючков-членов позволяет программисту лечить объект как имеющий has-a отношение с контейнером, а не is-a отношение с контейнером.

Другие советы

IMHO, если ваш объект предназначен только в один контейнер только, базовый крюк кажется более разнообразным. В противном случае (для нескольких контейнеров) несколько крючков элементов обеспечивают менее амбидиозное решение (поскольку можно избежать нескольких наследований)

http://www.boost.org/doc/libs/1_47_0/doc/html/intlush/recursive.html.«Крючки-члены не подходят для рекурсивных структур»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top