成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++全局函數(shù)應(yīng)用指南

開發(fā) 后端
C++全局函數(shù)可以進(jìn)行特化而不能半特化。在C++語言中,只有類才能進(jìn)行半特化。今天就會(huì)在這篇文章中為大家詳細(xì)介紹一下C++全局函數(shù)的基本概念。

最為一個(gè)經(jīng)驗(yàn)豐富的編程人員來說,必須要牢固掌握好兩個(gè)以上的編程語言,才能真正滿足工作中的需求。而C++語言就是其中一個(gè)必要的選擇。我們在這里可以通過對C++全局函數(shù)的基本概念有一個(gè)詳細(xì)的了解。

特別注意:類,全局函數(shù),類的成員函數(shù)都可以特化,但是只有類可以半特化,C++全局函數(shù)和類的成員函數(shù)不可以半特化。

1 類的特化和類成員函數(shù)的特化

  1. template< typename T> 
  2. class Widget1  
  3. {  
  4. public:  
  5. void Fun1()  
  6. {  
  7. //generic implementation  
  8. }  
  9. };  
  10. template< > 
  11. class Widget1< int> 
  12. {  
  13. public:  
  14. void Fun1()  
  15. {  
  16. }  
  17. };  
  18. template< >   
  19. void Widget1< char>::Fun1()  
  20. {  
  21. //specialization  
  22. }  
  23. void main()  
  24. {   
  25. Widget1< char> w;  
  26. w.Fun1();  
  27. Widget1< int> w2;  
  28. w2.Fun1();  

2 C++全局函數(shù)的特化和重載

  1. template< typename T1, typename T2> 
  2. T1 Fun2(T2)  
  3. {  

下面2個(gè)應(yīng)該是屬于重載

  1. template< typename T2> 
  2. char Fun2(T2)  
  3. {  
  4. char c;  
  5. return c;  
  6. }  
  7. template< typename T1> 
  8. T1 Fun2(char)  
  9. {  

C++全局函數(shù)的特化

  1. template< > 
  2. char Fun2< char,int>(int)  
  3. {  
  4. char c;  
  5. return c;  
  6. }  
  7. int main()  
  8. {  

3 C++全局函數(shù)不能半特化,以下編譯失敗

  1. template < typename T1,typename T2> //原型1  
  2. void Test(T1,T2)  
  3. {  
  4. }  
  5. template < typename T1> 
  6. void Test< T1,T1>(T1,T1)  
  7. {  
  8. }  
  9. template< typename T1, typename T2> //原型2  
  10. T1 Fun2(T2)  
  11. {  
  12. }  
  13. //  
  14. template< typename T2> 
  15. int Fun2< int,T2>(T2)  
  16. {  
  17. }  
  18. template< typename T1> 
  19. T1 Fun2< T1,int>(int)  
  20. {  
  21. }  
  22. template< typename T> 
  23. T Fun2< T,T>(T)  
  24. {  
  25. }  
  26. int main()  
  27. {  

4 類可以特化和半特化,但是特的成員函數(shù)像C++全局函數(shù)一樣,只能特化,不能半特化,

  1. template< typename T1, typename T2> struct Widget2  
  2. {  
  3. void Fun2()  
  4. {  
  5. //generic implementation  
  6. }  
  7. };  
  8. template< typename T2>   
  9. struct Widget2< char,T2> 
  10. {  
  11. void Fun2()  
  12. {  
  13. }  
  14. };  
  15. template< typename T2> 
  16. struct widget2  
  17. {  
  18. void Fun2()  
  19. {  
  20. // class partial specialization  
  21. }  
  22. };  
  23. //the class member funtion can not be partial specialization 

以下的成員函數(shù)半特化,編譯失敗

  1. template< typename T2> 
  2. void Widget2< char, T2>::Fun2()  
  3. {  
  4. //class member function partial specialization  
  5. }  
  6. int main()  
  7. {  

C++全局函數(shù)相關(guān)內(nèi)容就為大家介紹到這里。

【編輯推薦】

  1. C++存儲(chǔ)區(qū)域基礎(chǔ)概念詳解
  2. C++ typedef使用方法總結(jié)
  3. C++調(diào)用C鏈接庫具體應(yīng)用技巧講解
  4. C++類成員相關(guān)應(yīng)用方法介紹
  5. C++循環(huán)語句基本概念詳解
責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-04 17:16:33

C++調(diào)用python

2010-02-06 16:39:45

C++ assert(

2010-02-02 15:01:59

C++成員函數(shù)指針

2010-02-02 14:27:54

C++ static關(guān)

2010-02-01 10:32:01

C++文件操作

2010-02-05 13:44:06

C++ eof()函數(shù)

2021-06-18 12:30:36

C++函數(shù)指針編程語言

2024-01-25 11:32:21

2010-02-06 17:27:03

C++ replace

2010-02-01 15:26:44

C++ inline函

2011-07-20 17:16:50

C++重載函數(shù)

2024-04-03 12:30:00

C++開發(fā)

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2010-01-26 10:42:26

C++函數(shù)

2024-03-25 08:00:00

C++遞歸函數(shù)

2010-02-02 17:33:17

C++友元函數(shù)

2010-01-28 13:35:41

調(diào)用C++函數(shù)

2010-01-18 16:56:30

C++函數(shù)

2010-01-19 13:43:59

C++函數(shù)

2010-02-01 13:19:09

C++ explici
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲啪啪一区 | 国产成人福利 | 亚洲欧美日本国产 | 天天躁日日躁狠狠很躁 | 久久99国产精品 | 欧美激情亚洲激情 | 一级做a爰片性色毛片 | 日韩一区二区三区精品 | 亚洲国产aⅴ精品一区二区 免费观看av | 日本中文字幕在线视频 | 九一国产精品 | 日韩在线小视频 | 性生生活大片免费看视频 | 亚洲视频在线观看一区二区三区 | 久久精品亚洲精品 | 激情毛片 | 国产精品欧美一区二区 | 成人美女免费网站视频 | 夜夜骚| 国产乱码一区 | 久久久久久亚洲欧洲 | 天天做日日做 | 日韩在线观看视频一区 | 性视频网 | 中文在线日韩 | 亚洲精品国产综合区久久久久久久 | 操久久久 | 在线免费观看视频黄 | 一区二区三区四区免费观看 | 久久久久久国产免费视网址 | 亚洲精彩视频 | 最新国产精品精品视频 | 黄网址在线观看 | 久久天堂网 | 黄免费观看视频 | 91精品久久| a级网站| 亚洲国产一区在线 | 国产精品揄拍一区二区 | 成人毛片视频在线播放 | 四虎永久在线精品免费一区二 |