Effective C++之44

来源:互联网 发布:sql2005数据库可疑 编辑:程序博客网 时间:2024/05/03 07:00
条款44:将与参数无关的代码抽离templates
       Template在编译期生成多个classes和多个函数,所以任何template代码都不该与某个造成膨胀的template参数产生相依关系。也就是说,在编译期,编译器完成对template代码的具现化,此时容易产生生成代码的膨胀。因非类型模板参数造成的代码膨胀,往往可以消除,方式是以函数成员或者class成员变量替换template参数。
       因类型参数而造成的代码膨胀,往往可降低,做法是让带有完全二进制表述的具现类型共享实现码。