色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

C++之類模板深入學習的總結

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

一、類模板的深入學習:

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

template < typename T1, typenaem T2 >
class Test

public
void add(T1 a, T2 b);

//定義類對象時
Test

2、類模板可以被特化

指定類模板的特定實現

部分類參數必須顯示指定

根據類型參數分開實現類模板

特化前:

template < typename T1, typename T2 >
class Test


};

特化后:

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

};

3、類模板的特化類型:

部分特化:用特定的規則約束類型參數

完全特化:完全顯示指定類型參數

完全特化前:

template

完全特化后:

template < >
class Test < int, int>

};

代碼實踐:

#include

輸出結果:

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)特化只是模板的分開實現

本質上是同一個類模板

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

必須顯示指定每一個類型參數

5、類模板特化與重定義有區別嗎?函數模板可以特化嗎?

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

重定義:

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

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

特化:

--以統一的方式類使用類模板的特化類

--編譯器自動優先選擇特化類

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

函數模板特化前:

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

return a==b;

函數模板完全特化后:

template < >
bool Euqal

代碼實踐:

#include

輸出結果:

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

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

二、總結:

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

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

特化的本質是模板的分開實現

函數模板只支持完全特化

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

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

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

    關注

    7

    文章

    517

    瀏覽量

    44146
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73791
收藏 人收藏

    評論

    相關推薦

    Spire.XLS for C++組件說明

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

    ADS1299EEGFE-PDK在window上如何通過C++讀取8通道數據?

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

    C7000 C/C++優化指南用戶手冊

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

    C語言和C++中結構體的區別

    同樣是結構體,看看在C語言和C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?333次閱讀

    C7000優化C/C++編譯器

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

    如何學習ARM?

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

    OpenVINO2024 C++推理使用技巧

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

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?7次下載

    C++中實現類似instanceof的方法

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

    嵌入式開發學習

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

    鴻蒙OS開發實例:【Native C++

    使用DevEco Studio創建一個Native C++應用。應用采用Native C++模板,實現使用NAPI調用C標準庫的功能。使用C
    的頭像 發表于 04-14 11:43 ?2738次閱讀
    鴻蒙OS開發實例:【Native <b class='flag-5'>C++</b>】

    FPGA學習筆記-入門

    大概10年前,大學同學建議我學習DSP。當因為工作忙,也只是簡單學習了DSP的一些基礎知識,沒有進一步深入學習和時間。結果現在,好像DSP已經不再是主流了,現在有了FPGA。 現在想想,可能沒
    發表于 04-09 10:55

    使用 MISRA C++:2023? 避免基于范圍的 for 循環中的錯誤

    在前兩篇博客中,我們?向您介紹了新的 MISRA C++ 標準?和?C++ 的歷史?。在這篇博客中,我們將仔細研究以 C++ 中?for?循環為中心的特定規則。
    的頭像 發表于 03-28 13:53 ?845次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環中的錯誤

    c語言,c++,java,python區別

    操作系統、嵌入式系統等對性能要求較高的場景。C語言的語法相對簡單,學習曲線較平緩,也是學習其他高級語言的入門語言。 C++C++是在
    的頭像 發表于 02-05 14:11 ?2546次閱讀

    vb語言和c++語言的區別

    VB語言和C++語言是兩種不同的編程語言,雖然它們都屬于高級編程語言,但在設計和用途上有很多區別。下面將詳細比較VB語言和C++語言的區別。 設計目標: VB語言(Visual Basic)是由
    的頭像 發表于 02-01 10:20 ?2470次閱讀
    主站蜘蛛池模板: 国产嫩草在线观看 | 欧美午夜精品久久久久久浪潮 | 毛片网站视频 | 秋霞午夜鲁丝片午夜精品久 | 草草久久久无码国产专区全集观看 | 久青草国产观看在线视频 | 免费视频国产在线观看网站 | 99re6热这里在线精品视频 | 亚洲视频中文字幕在线观看 | 嫩草www视频在线观看高清 | 妇少水多18P蜜泬17P亚洲乱 | 含羞草影院AE在线观看 | 国产午夜人成在线视频麻豆 | 亚洲熟女丰满多毛XXXXX | 国产一区二区不卡老阿姨 | 97一期涩涩97片久久久久久久 | 国产乱辈通伦影片在线播放亚洲 | 免费视频不卡 | 欧美亚洲另类图片 | 亚洲精品久久AV无码蜜桃 | 杨幂视频在线观看1分30秒 | 亚洲 日本 天堂 国产 在线 | 国产激情一级毛片久久久 | 嫩草影院在线观看精品 | 偷拍国产精品在线播放 | 嗯啊不要老师 | VIDEOSGGRATIS欧美另类 | 狠狠色狠狠色综合日日92 | 成熟YIN荡美妞A片视频麻豆 | 国产精品av免费观看 | 把英语老师强奷到舒服动态图 | 亚洲精品蜜桃AV久久久 | 天天躁日日躁狠狠躁AV麻豆 | 国产精品人妻无码免费A片导航 | 草莓视频在线播放视频 | 国产精品无码麻豆放荡AV | 国产精品久久久久永久免费看 | 狠狠操天天操夜夜操 | 亚洲精品卡2卡3卡4卡5卡区 | 区一区二视频免费观看 | 青青国产在线观看视频 |