, 在编译期才被具现化出来), 需要的是隐式接口(参数被传入模板后受到模板中的调用)和编译期多态(不同模板参数具象化出不同的模板导致了调用不同的接口), 很难把握
隐式接口并不基于函数签名式决定, 而是按照模板内的表达式决定...模板在编写的时候非常方便, 但是一旦使用不当, 模板被编译器具现化的时候可能会产生非常多的重复二进制代码
和普通的函数编写不同, 模板的重复无法直观看出来, 需要想象目标模板被多个不同类型具现化的时候可能发生的重复...45 运用成员函数模板接受所有兼容类型
模板之间并没有什么类似继承关系的固有关系, 无法自动在继承类之间进行隐式转换, 智能指针类通过底层的转型来模拟这种关系
方法是编写用于指针间类型转换的构造模板,...主函数只要直接使用具现化的类中enumhack得到的常量即可std::cout::value;, 这个值在编译期已经计算完了:
借助TMP我们可以在程序运行前完成很多工作...主要是模板部分比较奇怪, 其使用了模板参数但却没有用到它, 这是为了利用模板具现化来为每个不同的类具现化出实体互异的复件.