日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DLL中使用模板类

發(fā)布時間:2024/4/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DLL中使用模板类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

模板類是一個編譯鏈接期間才實(shí)例化的類。只有用到才實(shí)例化。標(biāo)準(zhǔn)沒有支持對模板類的導(dǎo)出,從另外一種意義上來說,模板類的實(shí)現(xiàn)全部放在頭文件中,也就不需要導(dǎo)出了。但是對于一些特別情況。模板類中有靜態(tài)變量和函數(shù)。這個時候DLL中使用的,以及和其他鏈接這個DLL的模塊他們是使用的兩份拷貝。

比如, 在DLL中這樣使用:

T * pDLL = Singlton<T>::Get();

然后再鏈接這個DLL的exe中

T * pEXE = Singlton<T>::Get();

兩處得到的pDLL 和 pEXE 是不一樣的,因?yàn)槟0孱悰]有導(dǎo)出,所以他們使用的是兩份實(shí)例代碼。暫時還沒有export 一個模板類的方法。

但是鑒于上述的情況,可以在定義T的DLL中顯示的實(shí)例化模板類 Singlton<T> , 如下實(shí)例化,

template class Singlton<T>;

C++標(biāo)準(zhǔn)規(guī)定:“當(dāng)一個類模板被顯式實(shí)例化時,它的所有成員函數(shù)都將實(shí)例化。”(When?? a?? class?? template?? is?? explicitly?? instantiated,?? every?? member?? function?? is?? also?? instantiated)

所以現(xiàn)在可以做的就是導(dǎo)出這個被我們顯式實(shí)例化了的類, 如下語句

template class __declspec(dllexport) Sington<T>;

轉(zhuǎn)載于:https://www.cnblogs.com/JefferyZhou/archive/2012/09/24/2700314.html

總結(jié)

以上是生活随笔為你收集整理的DLL中使用模板类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。