为什么mesos代码更喜欢模板而不是遗产?

时间:2017-03-06 10:57:01

标签: c++ open-source mesos mesosphere

https://github.com/apache/mesos/blob/master/include/mesos/module.hpp#L56

mesos模块都来自struct ModuleBase,当创建不同的模块实例时,它们使用模板。 我很好奇,为什么他们更喜欢模板而不是遗产?这是因为运行时间的速度吗?

我也注意到C ++中的这么多开源项目更喜欢使用大量的模板,导致代码难以阅读和理解,为什么?

1 个答案:

答案 0 :(得分:1)

似乎有一些一般的讨论可能对以后的人有所帮助:

When should I use templates instead of inheritance, and vice versa?

When to use template vs inheritance

http://www.gotw.ca/publications/mill06.htm

http://people.cs.uchicago.edu/~jacobm/pubs/templates.html

模板比继承更快,因为它选择了在编译时而不是在运行时调用的正确函数。

它们具有非常相似的功能,它们都支持接口和多态性。