ste*_*fen 8 c++ stl c++-standard-library
只是出于兴趣......
如果我要设计一个容器库,我肯定会从一个公共基类派生它们,它们会有(也许是抽象的)方法声明,如size()
和insert()
.
标准库容器是否有充分的理由不能像这样实现?
Fre*_*abe 13
在C++中,继承用于运行时多态(读取:运行时接口重用).它带有在运行时通过vtable重定向的开销.
为了使多个容器类具有相同的接口(以便API可预测且算法可以做出假设),不需要继承.只要给他们相同的方法,你就完成了.C++中的容器(和算法)作为模板实现,这意味着您将获得编译时多态性.
这可以避免任何运行时开销,并且符合C++的口头禅"只付你需要的东西".
归档时间: |
|
查看次数: |
905 次 |
最近记录: |