最近在看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; }
我們發現,代碼變得簡單了很多。