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

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

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

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

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

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

一、類模板的深入學(xué)習(xí):

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

template < typename T1, typenaem T2 >
class Test

public
void add(T1 a, T2 b);

//定義類對(duì)象時(shí)
Test

2、類模板可以被特化

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

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

根據(jù)類型參數(shù)分開實(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>

};

代碼實(shí)踐:

#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、類模板特化注意事項(xiàng):

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

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

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

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

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

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

重定義:

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

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

特化:

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

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

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

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

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

return a==b;

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

template < >
bool Euqal

代碼實(shí)踐:

#include

輸出結(jié)果:

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

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

二、總結(jié):

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

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

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

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

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

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

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

    關(guān)注

    7

    文章

    515

    瀏覽量

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

    關(guān)注

    22

    文章

    2108

    瀏覽量

    73623
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊(cè).pdf》資料免費(fèi)下載
    發(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)化指南用戶手冊(cè)

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

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

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

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費(fèi)下載
    發(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>編譯器

    如何學(xué)習(xí)ARM?

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

    OpenVINO2024 C++推理使用技巧

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

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

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

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

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

    嵌入式開發(fā)學(xué)習(xí)

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

    鴻蒙OS開發(fā)實(shí)例:【Native C++

    使用DevEco Studio創(chuàng)建一個(gè)Native C++應(yīng)用。應(yīng)用采用Native C++模板,實(shí)現(xiàn)使用NAPI調(diào)用C標(biāo)準(zhǔn)庫的功能。使用C
    的頭像 發(fā)表于 04-14 11:43 ?2594次閱讀
    鴻蒙OS開發(fā)實(shí)例:【Native <b class='flag-5'>C++</b>】

    FPGA學(xué)習(xí)筆記-入門

    大概10年前,大學(xué)同學(xué)建議我學(xué)習(xí)DSP。當(dāng)因?yàn)楣ぷ髅Γ仓皇呛?jiǎn)單學(xué)習(xí)了DSP的一些基礎(chǔ)知識(shí),沒有進(jìn)一步深入學(xué)習(xí)和時(shí)間。結(jié)果現(xiàn)在,好像DSP已經(jīng)不再是主流了,現(xiàn)在有了FPGA。 現(xiàn)在想想,可能沒
    發(fā)表于 04-09 10:55

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

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

    c語言,c++,java,python區(qū)別

    操作系統(tǒng)、嵌入式系統(tǒng)等對(duì)性能要求較高的場(chǎng)景。C語言的語法相對(duì)簡(jiǎn)單,學(xué)習(xí)曲線較平緩,也是學(xué)習(xí)其他高級(jí)語言的入門語言。 C++C++是在
    的頭像 發(fā)表于 02-05 14:11 ?2366次閱讀

    vb語言和c++語言的區(qū)別

    VB語言和C++語言是兩種不同的編程語言,雖然它們都屬于高級(jí)編程語言,但在設(shè)計(jì)和用途上有很多區(qū)別。下面將詳細(xì)比較VB語言和C++語言的區(qū)別。 設(shè)計(jì)目標(biāo): VB語言(Visual Basic)是由
    的頭像 發(fā)表于 02-01 10:20 ?2258次閱讀

    C++簡(jiǎn)史:C++是如何開始的

    的 MISRA C++:2023 博客系列的第二部分。 在這篇博客中,我們將深入探討 C++ 的歷史、編程語言多年來的發(fā)展歷程以及它的下一步發(fā)展方向。
    的頭像 發(fā)表于 01-11 09:00 ?581次閱讀
    <b class='flag-5'>C++</b>簡(jiǎn)史:<b class='flag-5'>C++</b>是如何開始的
    主站蜘蛛池模板: 国产喷水1区2区3区咪咪爱AV| 免费被靠视频动漫| 日韩欧美精品有码在线播放免费| 亚洲午夜一区二区电影院| 电影内射视频免费观看| 美美哒免费影视8| 亚洲破处女| 国产精品第一综合首页| 啪啪后入内射日韩| 中文字幕无码一区二区免费| 国产一区二区三区乱码在线观看| 日本工口生肉全彩大全| 91次元黄色观看| 久久九九日本韩国精品| 亚洲国产亚综合在线区尤物 | 久久伊人影视| 亚洲精品久久久久无码AV片软件| 国产99久久九九免费精品无码| 暖暖 日本 视频 在线观看免费| 一攻多受高h大总攻| 国产亚洲精品久久久久久久 | 99热在线播放| 老湿机一区午夜精品免费福利| 亚洲欧美强伦一区二区另类| 手机看片成人| 99视频免费在线观看| 两百磅美女| 在线观看国产亚洲| 精品国内自产拍在线观看视频| 亚洲AV久久久久久久无码| 国产69精品久久久久乱码免费| 热久久国产欧美一区二区精品| 99视频在线观看免费| 蜜桃无码AV视频在线观看| 制服的微热| 久久一级视频| 尤蜜网站在线进入免费| 久久sese| 中文字幕视频在线免费观看| 玖玖爱这里只有精品视频| 中国xxxxxxxxx孕交|