C++ 模板:奇特递归模板模式(Curiously Recurring Template Pattern -CRTP)和

 

C++: Prefer Curiously Recurring Template Pattern (CRTP) to Template Pattern:http://www.codeproject.com/Tips/537606/Cplusplus-Prefer-Curiously-Recurring-Template-Patt

静多态(Static polymorphism):http://en.wikipedia.org/wiki/Template_metaprogramming#Static_polymorphism

 

在“GoF”的设计模式一书中定义的“模板模式”,与C++模板无关,它是一种行为模式。

“奇特递归模板模式(CRTP)”是基于模板模式的改良,它是这样一种C++ idiom:  类 X 继承于基类模板实例,而该模板实例以 X 作为模板参数。此idiom名称由Jim Coplien创造,他曾在一些早期的C++模板代码中观察到此模式。此技巧可以实现如同使用虚函数那样的效果,但是没有(运行时期)动态多态的额外损耗(以及一些弹性的损失)。CRTP可作为模板模式的替代,提供动态多态--而并不要求在运行时期实现。此模式在Windows ATL/WTL 库中广泛使用。

原文链接: https://www.cnblogs.com/qinfengxiaoyue/archive/2013/05/12/3074430.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ 模板:奇特递归模板模式(Curiously Recurring Template Pattern -CRTP)和

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/88164

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午11:28
下一篇 2023年2月9日 下午11:28

相关推荐