本节条款的标题是:将与参数无关的代码抽离templates
学习本节条款首先需要明白一件事情,那就是模板实例化的过程会不会重复?
我们来举个例子:
#include<iostream>
using namespace std;
template <typename T>
T Try(T m)
{
return m;
}
int main()
{
Try(10);
Try(1);
}
我们看以上简单的代码,每个人都知道模板被调用了两次,是的,这显而易见。可是模板也被实例化了两次吗?事实上,模板只实例化了一次。
我们再举个例子:
#include<iostream>
using