函数模板的载体-HPP
??? 在C++中,我們通常將聲明放在.h頭文件中,將具體的實現代碼放在.cpp文件中。但是函數模板通常不這么做,函數模板是將其聲明和實現都放在.hpp文件中。hpp是Header Plus Plus的縮寫,是專門存放模板文件的格式。可能有人會問,為什么要將函數模板的聲明和實現放在一個頭文件中?這是因為當編譯器讀到函數模板的實現時,因為沒有具體的模板參數,所以還不能為它創建一個函數實例,只有當使用這個函數模板的時候,才會為它創建一個具體的函數實例;所以,對于編譯器而言,函數模板的實現其實也是一種聲明,是聲明如何構建一個模板函數的方法。
??? 在前面的幾章中,我們都是將函數模板和主函數放到了一個cpp文件中,但是在實際的工作中,都是將函數模板和主函數相分離的。今天,我們就使用HPP文件來實現函數模板和主函數相分離的目標。
例1 使用HPP文件實現模塊化編程
Add.hpp文件
#ifndef _ADD_HPP_ #define _ADD_HPP_ template<typename T> T Add(T t1, T t2) {return t1 + t2; } #endif主文件#include<iostream> #include "Add.hpp" using namespace std; void main() {int nRet = Add<int>(1,2);cout << "和:" << nRet << endl; }??? 運行效果如圖1所示:圖1 使用HPP文件實現模塊化編程
??? 例1中,我們首先在Add.hpp文件中創建了一個函數模板Add.hpp,之后在主文件中使用include包含Add.hpp文件,這樣就可以實現函數模板和主函數的分離效果了,也就是所謂的模塊化編程思想。
??? 今天我們主要講述了函數模板的載體和在實際的工作中,如何將函數模板和主函數分離的方法,從而實現模塊化編程的目標。大家可以回去實踐一下,加深體會。
???
?
轉載于:https://www.cnblogs.com/new0801/p/6177083.html
總結
以上是生活随笔為你收集整理的函数模板的载体-HPP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BIND_MISMATCH导致过多VER
- 下一篇: 【教程】超漂亮的CSS3按钮制作教程