模板是什么
我个人感觉模板就是数学公式,通过既定的格式,根据传入参数的不同的到不同的输出结果。
比方说勾股定理,给入不同的a和b,根据既定的格式,就能得到想要的结果。
这个就是c++多态的一个体现。不同的输入不同的结果嘛,实际使用的时候编译器会自动生成相应的代码。在编译阶段做的操作,又叫编译时多态。
模板怎么用
直接看代码。这个文章先只讲类模板。
template <class T>
class MyContainer
{
private:
T element_;
public:
MyContainer(T value):element_(value)
{
}
void print()
{
std::cout << "element : "<< element_ << std::endl;
}
};
调用
MyContainer con1(12);
con1.print();
MyContainer con2("hello world");
con2.print();
就是这样辣,输入不同类型的参数,对应的结果也不同。
为什么要用模板
这就很明显。方便,如果需要考虑不同输入但是同样的操作的时候,这样写可以少很多代码量。而且思路也比较清晰。