Boost Intrusive List钩子

时间:2010-09-29 11:59:51

标签: c++ boost hook intrusive-containers

Boost :: Intrusive库中的基本钩子和成员钩子的区别是什么,何时使用另一个更好?

我已阅读了增强文档,但其解释并非如此。

3 个答案:

答案 0 :(得分:3)

据我所知,这是一个风格和面向对象设计的问题。基础钩子侵入继承层次结构,需要额外的public父类,并可能在设计时强制进行多重继承。使用成员钩子允许程序员将对象视为与容器具有has-a关系,而不是与容器成员资格的is-a关系。

答案 1 :(得分:1)

如果您的对象仅包含在单个容器中,则基本挂钩似乎更方便。否则(对于多个容器),多个成员挂钩提供较少的ambigious解决方案(因为避免了多重继承)

答案 2 :(得分:1)