这里有C++STL——全面总结详细教程(附案例解析)(持续更新中)
利用具体化的模板,可以解决自定义类型的通用化
用普通和Person类模板进行对比。
#include<iostream>
#include<string>
using namespace std;
//定义类
class Person {
public:
Person(string name, int age) {
this->m_Name = name;
this->m_Age = age;
}
string m_Name;
int m_Age;
};
//普通函数模板
template<class T>
bool myCompare(T &a, T &b) {
if (a == b) {
return true;
}
else {
return false;
}
}
//特定类对象模板
template<> bool myCompare(Person &p1, Person &p2) {
if (p1.m_Age == p2.m_Age&&p1.m_Name == p2