R34*_*R34 -1 c++ internals multiple-inheritance
只是一个快速愚蠢的问题:
我想知道C++是否在内部利用了虚拟继承提供的多重继承功能.我确信,对于模板化实现,例如STL提供的数据结构(例如std :: vector <>)不能使用这样的功能,但是如某些其他对象如流如何.
我知道多重继承在某些情况下可能很方便(例如,对于交叉委托)但我觉得如果C++开发人员决定避免在代码中使用这样的功能,我应该避免使用它.
感谢大家!
iostream使用多个虚拟继承; 特别是,std::basic_iostream继承自std::basic_istream和std::basic_ostream,并且它们都继承自std::basic_ios(使用虚拟继承).
话虽如此,iostream并不被广泛认为是一个伟大的设计的例子,所以从表面上看这些信息(=是,标准包括使用多重和虚拟继承的类),而不是作为良好实践的标记.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |