2010-09-29 13 views
6

¿Cuál es la diferencia en un gancho base y un gancho miembro en la biblioteca Boost :: Intrusive y cuándo es mejor usar uno y luego el otro?Boost Intrusive List hook

He leído la documentación de impulso, pero no es tan explicativo.

Respuesta

3

Por lo que puedo decir, es una cuestión de estilo y diseño orientado a objetos. Los ganchos de base se inmiscuyen en la jerarquía de herencia, necesitando una clase primaria adicional public y posiblemente forzando herencia múltiple en el diseño. El uso de los ganchos de miembro le permite al programador considerar que un objeto tiene una relación has-a con un contenedor, en lugar de una relación is-a con la membresía del contenedor.

1

imho si su objeto está destinado a ser incluido en un solo contenedor, el gancho base parece más conveniente. De lo contrario (para contenedores múltiples), los ganchos de múltiples miembros proporcionan una solución menos ambigua (ya que se evita la herencia múltiple)