仍是例子说话。程序员
函数模板:函数
template<class T> max(const T a, const T b) { return (a>b ? a : b); } 这样用: //int int a = 1, b = 2; max(a, b); //float float c = 1.0f, d = 2.0f; max(c, d); //double double e = 1.0, f = 2.0; max(e, f); //...
类模板:code
template<class T> class C { public: T max(const T a, const T b) { return (a>b ? a : b); } }; 对这个类进行实例化: //int C<int> cn; //float C<float> cf; //double C<double> cd; //...
如今看出区别了吧,区别在于函数模板和类模板的使用方式上:编译器
函数模板在使用时不须要程序员指定类型,编译器在编译的时候会自动绑定;而类模板须要程序员手工指定,指定的方式是:类名字<类型>。编译