C++ Mixins 的一个想法

2024-11-22

本文探讨了在 C++ 中使用 Mixins 的一种思路,类似 Rust 的 trait 和 C++ concept,旨在改进代码复用和框架设计。作者提出了一种基于 CRTP(奇异递归模板模式)的 Mixin 实现方案,并以 Clone trait 为例进行了说明。该方案允许在编译时检查类是否实现了特定接口,并能避免虚函数表带来的开销。作者还讨论了如何利用该方案实现类似 Rust 的关联类型和侵入式引用计数。虽然 C++ 标准库中的 concept 已具备类似功能,但作者认为这种方案仍然具有一定的价值,尤其是在早期 C++ 版本中。

未分类 Mixin CRTP