pdf文档 Reusable Code & Reusable Data Structures

14.20 MB 132 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档主要探讨了代码复用和数据结构的重用,提出通过泛型函数和泛型类来实现算法和接口的重用。重点强调了在构建通用库时要谨慎选择抽象,尽管不同的抽象可以互换,但它们的成本不同。文档还讨论了Curiously Recurring Template Pattern(CRTP)和编译时多态的应用,以及在无关上下文中实现代码复用的方法。最后,文档总结了选择抽象时的考量因素,并建议定期复审设计决策。
AI总结
《可重用代码与数据结构》及其相关主题总结如下: 1. **代码复用** - 文档强调构建泛用库以最大化代码复用,通过以下方式实现: - **干法则(DRY,Don’t Repeat Yourself)**:避免代码重复。 - **泛用函数**:通过算法复用实现。 - **泛用类**:通过接口和数据复用实现。 - 代码复用不仅限于相关上下文,还可在无关情境中复用。 2. **继承与虚函数** - 虚函数用于实现运行时多态,但需权衡性能成本。 - **奇异递归模板模式(CRTP)**:通过编译时多态实现,更高效。 - 泛用类可通过模板化接口和算法实现定制化,同时保留数据和代码的复用性。 3. **数据复用与std::variant** - 数据复用通过泛用类实现,结合接口和算法的复用。 - `std::variant` 用于类型安全的联合体,适合在需要多种类型支持的场景中实现数据复用。 4. **实现与抽象** - 选择合适的抽象Mechanism,避免过度设计。 - 不同的抽象Mechanism可互换,但其成本和性能可能不同。 - 需要定期复审设计选择,确保最优实现。 文档以动态规划类为例,展示了如何通过泛用类和模板化 implementing实现代码和数据的复用,为构建高效、灵活的代码库提供了参考。 总结:构建泛用库是实现代码复用的关键,需合理选择抽象Mechanism,并在性能、成本和灵活性之间找到平衡。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 120 页请下载阅读 -
文档评分
请文明评论,理性发言.