在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++之類模板深入學習的總結(jié)

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-24 15:46 ? 次閱讀

一、類模板的深入學習:

1、類模板可以定義任意多個不同的類型參數(shù)(這一點和模板函數(shù)一樣)

template < typename T1, typenaem T2 >
class Test

public:
void add(T1 a, T2 b);

//定義類對象時
Test

2、類模板可以被特化

指定類模板的特定實現(xiàn)

部分類參數(shù)必須顯示指定

根據(jù)類型參數(shù)分開實現(xiàn)類模板

特化前:

template < typename T1, typename T2 >
class Test


};

特化后:

template < typename T >
class Test < T , T >

};

3、類模板的特化類型:

部分特化:用特定的規(guī)則約束類型參數(shù)

完全特化:完全顯示指定類型參數(shù)

完全特化前:

template

完全特化后:

template < >
class Test < int, int>

};

代碼實踐:

#include

輸出結(jié)果:

root@txp-virtual-machine:/home/txp# ./a.out
void add(T1 a, T2 b)
3.5
void add(T a, T b)
10
class Test < T , T >
void add(void* a, void* b)
error to add void* parm
void add(T1* a, T2* b)
1.1

4、類模板特化注意事項:

(1)特化只是模板的分開實現(xiàn)

本質(zhì)上是同一個類模板

(2)特化類模板的使用方式是統(tǒng)一的

必須顯示指定每一個類型參數(shù)

5、類模板特化與重定義有區(qū)別嗎?函數(shù)模板可以特化嗎?

(1)重定義和特化的不同:

重定義:

--一個類模板和一個新類(或者兩個類模板)

--使用的時候需要考慮如何選擇的問題

特化:

--以統(tǒng)一的方式類使用類模板的特化類

--編譯器自動優(yōu)先選擇特化類

(2)函數(shù)模板只支持參數(shù)完全特化

函數(shù)模板特化前:

template < typename T >
bool Equal(T a, T b)

return a==b;

函數(shù)模板完全特化后:

template < >
bool Euqal

代碼實踐:

#include

輸出結(jié)果:

root@txp-virtual-machine:/home/txp# ./a.out
bool Equal(T a, T b)
1
bool Equal

注解:當需要重載函數(shù)模板時,優(yōu)先考慮使用模板特化;當模板特化無法滿足需求,再使用函數(shù)重載

二、總結(jié):

類模板可以定義任意多個不同的類型參數(shù)

類模板可以被部分特化和完全特化

特化的本質(zhì)是模板的分開實現(xiàn)

函數(shù)模板只支持完全特化

工程中使用模板特化代替類(函數(shù))重定義

好了,今天的分享就到這里,如果文章中有錯誤或者不理解的地方,可以交流互動,一起進步。我是txp,下期見!

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 可編程邏輯
    +關(guān)注

    關(guān)注

    7

    文章

    523

    瀏覽量

    44441
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2116

    瀏覽量

    74500
收藏 人收藏

    評論

    相關(guān)推薦

    C++學到什么程度可以找工作?

    C++開發(fā)的工作不僅需要深厚的編程功底,還要具備解決實際問題的能力,以及良好的溝通能力和團隊協(xié)作精神。此外,持續(xù)學習和更新自己的知識體系也是保持競爭力的關(guān)鍵。
    發(fā)表于 03-13 10:19

    限時免積分下載:增量式與位置式PID算法的C語言實現(xiàn)分享

    前面咱們有分享對PID算法離散化和增量式PID算法原理進行來探索,之后又使用Matlab進行了仿真實驗,對PID三個參數(shù)又有了更深入的認識,接下來我們來使用C語言進行PID算法實現(xiàn),并且結(jié)合控制電機的項目來深入學習。 今天限時免
    發(fā)表于 03-05 18:32

    Spire.XLS for C++組件說明

    開發(fā)人員可以快速地在 C++ 平臺上完成對 Excel 的各種編程操作,如根據(jù)模板創(chuàng)建新的 Excel 文檔,編輯現(xiàn)有 Excel 文檔,以及對 Excel 文檔進行轉(zhuǎn)換。 Spire.XLS
    的頭像 發(fā)表于 01-14 09:40 ?421次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    同樣是函數(shù),在CC++中有什么區(qū)別

    同樣是函數(shù),在 CC++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會默認為返回 int。 但是 C++ 的函數(shù),除了構(gòu)造和析構(gòu)這兩個特殊的函數(shù),必須
    的頭像 發(fā)表于 11-29 10:25 ?675次閱讀

    ADS1299EEGFE-PDK在window上如何通過C++讀取8通道數(shù)據(jù)?

    入手了一塊ADS1299EEGFE-PDK,想用這塊板做eeg測試,開發(fā)語言是c++,window平臺,這塊板沒有提供sdk之類的,怎么獲取8個通道的數(shù)據(jù),有沒有做過的朋友?
    發(fā)表于 11-27 06:51

    C7000 C/C++優(yōu)化指南用戶手冊

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊.pdf》資料免費下載
    發(fā)表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優(yōu)化指南用戶手冊

    TMS320C6000優(yōu)化C/C++編譯器v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000優(yōu)化C/C++編譯器v8.3.x.pdf》資料免費下載
    發(fā)表于 11-01 09:35 ?1次下載
    TMS320<b class='flag-5'>C</b>6000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

    C語言和C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?564次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    如何學習ARM?

    ARM 處理器架構(gòu): 學習 ARM 處理器的架構(gòu)是學習的核心。ARM 架構(gòu)有不同的版本,如 ARMv7、ARMv8 等。你可以從學習 ARMv7 開始,逐步深入學習其他版本的細節(jié)。
    發(fā)表于 10-11 10:42

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開發(fā)的使用習慣與推理方式。與OpenCV的Mat對象對接方式更是幾乎無縫對接,非常的方便好用。
    的頭像 發(fā)表于 07-26 09:20 ?1320次閱讀

    C++語言基礎(chǔ)知識

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識.pdf》資料免費下載
    發(fā)表于 07-19 10:58 ?8次下載

    C++中實現(xiàn)類似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開始學習C++,有時候會面臨一個常見問題,就是如何向下轉(zhuǎn)型,特別是不知道具體類型的時候,這個時候就希望C++ 可以向Java或者Python中有insta
    的頭像 發(fā)表于 07-18 10:16 ?787次閱讀
    <b class='flag-5'>C++</b>中實現(xiàn)類似instanceof的方法

    嵌入式開發(fā)學習

    我在學校專注于學這一門,感覺特別受用,所以想深入學習一些關(guān)于嵌入式的一些知識
    發(fā)表于 07-09 08:24

    C/C++代碼動態(tài)測試工具VectorCAST插樁功能演示#代碼動態(tài)測試 #C++

    C++代碼
    北匯信息POLELINK
    發(fā)布于 :2024年04月18日 11:57:45
    主站蜘蛛池模板: 国产黄色大全 | 在线观看国产一级强片 | 一区二区三区四区欧美 | 在线免费观看毛片网站 | 国产3p在线播放 | 给个网站可以在线观看你懂的 | 狠狠色丁香婷婷综合激情 | 免费在线观看你懂的 | h视频在线免费观看 | 人人射人人| 色97色| 69色综合| 成人啪啪网站 | 婷婷开心激情网 | 国产jzjzjz免费大全视频 | 永久免费在线播放 | 男女爱爱免费高清 | 亚洲国产综合人成综合网站00 | 全黄毛片 | 天天插天天狠 | 曰本在线| 国产成人精品男人的天堂538 | 欧美成人激情在线 | aa在线免费观看 | 天天视频国产精品 | 天天久久影视色香综合网 | chinese国产一区二区 | 奇米影视四色首页手机在线 | 国产三级网站在线观看 | 欧美三级一区二区三区 | 精品一区二区在线观看 | ts人妖在线观看 | 男女刺激性视频大片 | 狠狠狠色丁香婷婷综合激情 | 中文天堂最新版在线精品 | 久久青草91线频免费观看 | 欧美激情 自拍 | 国产精品久久女同磨豆腐 | 黄到让你下面湿的视频 | 午夜影院黄 | 91色视频网站 |