最近在看C++的源码,遇到了不少问题,一点一点进行补充。
首先就是遇到template <typename Dtype>。
网上解释的非常多,觉得比较啰嗦,其实就是一个类型模板。
比如我们要计算两个数的加法,针对不同类型可能需要设计不同类型的函数,那么template <typename T>就可以很好的解决这个问题。
原始解决方法:
int sum(int a,int b); double sum(double a,double b); float sum(float a,float b);
但是当用template <typename T>后为:
template <typename T> T sum(T a, T b) { return a+b; }
我们发现,代码变得简单了很多。