https://github.com/apache/mesos/blob/master/include/mesos/module.hpp#l56
mesos模块都派生自structmodulebase,当创建不同的模块示例时,它们使用模板。我很好奇,为什么他们更喜欢模板而不是传统?是因为跑步速度吗?
我还注意到,在c++中有很多开源项目喜欢使用大量的模板,这会导致代码难以阅读和理解,为什么?
https://github.com/apache/mesos/blob/master/include/mesos/module.hpp#l56
mesos模块都派生自structmodulebase,当创建不同的模块示例时,它们使用模板。我很好奇,为什么他们更喜欢模板而不是传统?是因为跑步速度吗?
我还注意到,在c++中有很多开源项目喜欢使用大量的模板,这会导致代码难以阅读和理解,为什么?
1条答案
按热度按时间fdbelqdn1#
似乎有一些一般性的讨论可能对后来来这里的人有所帮助:
什么时候应该使用模板而不是继承,反之亦然?
何时使用模板与继承
http://www.gotw.ca/publications/mill06.htm
http://people.cs.uchicago.edu/~jacobm/pubs/templates.html
模板比继承更快,因为它选择了在编译时而不是在运行时调用的正确函数。
它们的功能也非常相似,都支持接口和多态性。