国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    526

    瀏覽量

    45401
  • C++
    C++
    +關注

    關注

    22

    文章

    2123

    瀏覽量

    77110
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    keil實現cc++混合編程

    起因項目中使用到一個開源的模擬IIC的庫,封裝的比較好,但是是使用c++寫的。于是將其移植到自己的項目中,主要有以下三步操作: 在工程選項中 C/C++中去掉勾選 C99 Mode
    發表于 01-26 08:58

    C語言與C++的區別及聯系

    C語言和C++到底是什么關系? 首先C++C語言本來就是兩種不同的編程語言,但C++確實是對C
    發表于 12-24 07:23

    CC++之間的聯系

    1、語法兼容性: C++完全兼容C語言的語法,這意味著任何有效的C語言程序都可以直接在C++編譯器下編譯通過。 2、底層控制: C++
    發表于 12-11 06:51

    C語言和C++之間的區別是什么

    處理的問題時拋出異常,并在其他地方捕獲和處理這些異常。 C語言沒有內建的異常處理機制,一般通過返回錯誤代碼或設置全局錯誤標志等方式處理錯誤。 5、標準庫支持: C++擁有豐富且強大的標準模板
    發表于 12-11 06:23

    C/C++條件編譯

    條件編譯是一種在編譯時根據條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ 中,條件編譯使用預處理指令 #ifdef、#endif、#else 和 #elif 來實現。常用的條件編譯指令有
    發表于 12-05 06:21

    C++程序異常的處理機制

    1、什么是異常處理? 有經驗的朋友應該知道,在正常的CC++編程過程中難免會碰到程序不按照原本設計運行的情況。 最常見的有除法分母為零,數組越界,內存分配失效、打開相應文件失敗等等。 一個程序
    發表于 12-02 07:12

    C/C++代碼靜態測試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項目的相對/根路徑的支持。C++?分析也得到了增強,增加了用于檢測 C++?并發問題的新檢查,并改進了實體名稱和實
    的頭像 發表于 10-13 18:11 ?569次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態測試工具Perforce QAC 2025.3的新特性

    技能+1!如何在樹莓派上使用C++控制GPIO?

    在使用樹莓派時,你會發現Python和Scratch是許多任務(包括GPIO編程)中最常用的編程語言。但你知道嗎,你也可以使用C++進行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發表于 08-06 15:33 ?4150次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C++ 與 Python:樹莓派上哪種語言更優?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發表于 07-24 15:32 ?944次閱讀
    <b class='flag-5'>C++</b> 與 Python:樹莓派上哪種語言更優?

    主流的 MCU 開發語言為什么是 C 而不是 C++

    在單片機的地界兒里,C語言穩坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉。先說內存這道坎兒。您當stm32f4的256kRAM
    的頭像 發表于 05-21 10:33 ?1039次閱讀
    主流的 MCU 開發語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    基于LockAI視覺識別模塊:C++模板匹配

    /master/Cpp_example/C03_Template_Matching_more 1. 基本知識講解 1.1 多模板匹配的重要幸 目標檢測:多模板匹配可以用于檢測圖像中的多個特定對象。 應用場
    發表于 05-14 15:00

    基于LockAI視覺識別模塊:C++模板匹配

    模板匹配是一種在圖像中同時尋找多個模板的技術。通過對每個模板逐一進行匹配,找到與輸入圖像最相似的區域,并標記出匹配度最高的結果。本實驗提供了一個簡單的多模板匹配案例,并將其封裝為一個
    的頭像 發表于 05-14 14:37 ?1618次閱讀
    基于LockAI視覺識別模塊:<b class='flag-5'>C++</b>多<b class='flag-5'>模板</b>匹配

    基于LockAI視覺識別模塊:C++模板匹配

    /Cpp_example/C02_TemplateMatching 1. 基本知識講解 1.1 模板匹配的重要性 目標檢測:模板匹配可以用于檢測圖像中的特定對象。 應用場景:廣泛應用于物體識別、工業自動化
    發表于 05-13 14:40

    基于LockAI視覺識別模塊:C++模板匹配

    模板匹配是一種在圖像中尋找特定模式的技術。它通過滑動一個模板圖像(較小的圖像)在輸入圖像上進行比較,找到最相似的區域。本實驗提供了一個簡單的模板匹配案例,并將其封裝為一個自定義函數performTemplateMatching,
    的頭像 發表于 05-13 14:14 ?781次閱讀
    基于LockAI視覺識別模塊:<b class='flag-5'>C++</b><b class='flag-5'>模板</b>匹配

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

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