什么是 C++ Mixin 风格?

2024-01-03

我刚刚看到这个关键词C++ Mixin-Style,有人知道这是什么吗?

In 这个帖子 https://stackoverflow.com/questions/543262/is-mixin-considered-a-design-pattern,已被回答为设计模式。是否与中描述的设计模式相同这个文件 http://en.wikibooks.org/wiki/More_C++_Idioms/Curiously_Recurring_Template_Pattern?


Mixins http://en.wikipedia.org/wiki/Mixin是 Lisp 的一个概念。一个很好的解释来自多布斯博士 http://drdobbs.com/cpp/184404445:

mixin 是类的片段,因为它旨在与其他类或 mixin 组合在一起。
[...]
常规的独立类(例如 Person)和 mixin 之间的区别在于,mixin 模拟一些小的功能片(例如,打印或显示),并且不适合独立使用。相反,它应该与需要此功能的其他类(例如,Person)组成。

所以,mixin 的目的是允许某些东西like多重继承,没有多重继承通常带来的所有坏事™。

然而,这可能有点令人困惑,因为 C++ 本身并不支持 mixins;为了在 C++ 中“执行”mixins,您必须使用多重继承!这在实践中最终意味着您仍然使用多重继承,但您人为地限制了您允许自己使用它的用途。

请参阅上面的文章了解实际的 mixin 实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是 C++ Mixin 风格? 的相关文章

随机推荐