1.
面向对象的世界总是以显示接口和运行期多态解决问题。Templates及泛型编程的世界与面象对象的世界有根本上的不同。在此世界中显示接口和运行期多态依然存在,但重要性降低。反倒是隐式接口与编译期多态移到前头了:以不同的template参数具现化会导致调用不同的函数这就是所谓的编译期多态。
2.
template<class T>class Widget;
template<typename T>class Widget;
从C++的角度来看,声明template参数的时候,不论使用关键字class或typename,意义完全相同.
如果template 内用来验明嵌套从属名称,只能用typename.但是不得在base class lists或member initialization list以他修饰。
本文探讨了面向对象编程与模板编程的区别,强调了在模板编程中编译期多态的重要性。文章对比了运行时多态与编译期多态,并解释了如何通过不同的模板参数实现调用不同的函数。

695

被折叠的 条评论
为什么被折叠?



