最近在看C++的源碼,遇到了很多問題,一點一點進行補充。函數
首先就是遇到template <typename Dtype>。spa
網上解釋的很是多,以爲比較囉嗦,其實就是一個類型模板。設計
好比咱們要計算兩個數的加法,針對不一樣類型可能須要設計不一樣類型的函數,那麼template <typename T>就能夠很好的解決這個問題。code
原始解決方法:blog
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; }
咱們發現,代碼變得簡單了不少。模板