Boost 侵入式列表挂钩

发布于 2024-09-25 13:00:48 字数 93 浏览 7 评论 0原文

Boost::Intrusive 库中的基本钩子和成员钩子有什么区别?什么时候使用其中一个比另一个更好?

我已经阅读了 boost 文档,但它没有那么解释。

What is the difference in a base hook and a member hook in Boost::Intrusive library and when is one better to use then the other?

I've read the boost documentation, but its not that explanatory.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

网白 2024-10-02 13:00:48

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

As far as I can tell it is a matter of style and object-oriented design. Base hooks intrude upon the inheritance hierarchy, necessitating an extra public parent class and possibly forcing multiple inheritance upon the design. Using member hooks allows the programmer to treat an object as having a has-a relation with a container, rather than an is-a relation with container membership.

江湖彼岸 2024-10-02 13:00:48

恕我直言,如果您的对象只想包含在单个容器中,则基本钩子似乎更方便。否则(对于多个容器),多个成员挂钩提供了不太模糊的解决方案(因为避免了多重继承)

imho if your object is intended to be included into single container only, base hook seems more convinient. Otherwise (for multiple containers), multiple member hooks provide less ambigious solution (since multiple inheritance is avoided)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文