C++ 中的优化和继承

Refinement and inheritance in c++

本文关键字:继承 优化 C++      更新时间:2023-10-16

什么是 C++ 中的细化?

在阅读C ++入门Plus时,我遇到了以下语句:

就C++语言而言,这个特殊的双向迭代器, 作为内置类型,无法从类派生。概念 但是,它确实继承了。一些STL文献使用术语细化 以指示此概念继承。因此,双向 迭代器是对前向迭代器概念的改进

继承和细化有什么关系?

细化的意思是"它具有相同的属性(或功能,或要求(,以及更多。

如果遵循 Liskov 替换原则,则继承通常是细化,因为您可以使用派生实例执行所有基类操作,并且派生实例满足所有基本要求。

不必使用继承来实现优化。 这部分是由于C++支持静态多态性,例如模板。 双向迭代器是对前向迭代器的改进,即使前者不继承后者,只要程序可以在需要前向迭代器的地方使用双向迭代器。 接受迭代器的函数通常将它们作为模板类型,所以重要的是它们实现了一组已知的方法(例如,前向迭代器的递增和取消引用,以及双向递减(。