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

C++函數(shù)模板基本概念講述

開發(fā) 后端
我們在這篇文章中為大家接受了C++函數(shù)模板的定義方法,以及各種應(yīng)用方式,希望這里的內(nèi)容能幫助大家充分掌握這方面的應(yīng)用技巧。

C++編程語言中的模板應(yīng)用對于程序開發(fā)是一個非常重要應(yīng)用。其中,C++函數(shù)模板能以同樣的程序代碼對不同類型的數(shù)據(jù)進(jìn)行處理,其關(guān)鍵是將所處理的數(shù)據(jù)類型說明為參數(shù),即類型參數(shù)化。

定義函數(shù)模板的一般形式是:

 

  1. template <class 類型參數(shù)名1 ,class 類型參數(shù)名 2,…> 
  2. 函數(shù)返回值類型 函數(shù)名(形參表)  
  3. {  
  4. 函數(shù)體  

 

說明:

(1)這里的類型參數(shù)名就是代表形形色色數(shù)據(jù)類型的通用參數(shù)名,它可以代表基本數(shù)據(jù)類型,也可以代表類。

(2)編寫C++函數(shù)模板的方法是:

step 1:定義一個普通的函數(shù),數(shù)據(jù)類型采用具體的普通的數(shù)據(jù)類型,仍以打印數(shù)組為例,先定義一個打印整型數(shù)組的普通函數(shù):

  1. void printArray(int *array,int count)  
  2. {  
  3. for (int i=0;i<count;i++)  
  4. cout<<array[i]<<" ";  
  5. cout <<endl;  

 

step 2:將數(shù)據(jù)類型參數(shù)化:將其中具體的數(shù)據(jù)類型名(如 int )全部替換成由自己定義的抽象的類型參數(shù)名(如T)。

step 3:在函數(shù)頭前用關(guān)鍵字template引出對類型參數(shù)名的聲明。這樣就把一個具體的函數(shù)改造成一個通用的函數(shù)模板:

  1. template <class T>void printArray(T *array,int count)  
  2. {  
  3. for (int i=0;i<count;i++)  
  4. cout<<array[i]<<" ";  

 

 #t#(3)C++函數(shù)模板不是一個可以執(zhí)行的函數(shù),它只是對函數(shù)功能的程序描述,編譯程序不為它生成執(zhí)行代碼。

(4)當(dāng)編譯程序遇到函數(shù)調(diào)用:

函數(shù)名 (實(shí)參表)時,自動將實(shí)參表中具體的數(shù)據(jù)類型替換函數(shù)模板中的類型參數(shù),生成一個隱含的重載函數(shù),該重載函數(shù)的程序代碼與函數(shù)模板相同,類型則采用實(shí)參表中的具體數(shù)據(jù)類型。仍以前面所創(chuàng)建的打印數(shù)組C++函數(shù)模板為例,當(dāng)程序出現(xiàn)函數(shù)調(diào)用語句printArray(a,aCount);時,編譯程序?qū)⒏鶕?jù)第一個實(shí)參a的數(shù)據(jù)類型int 匹配類型參數(shù)T,將函數(shù)模板中的所有T都替換成具體的數(shù)據(jù)類型int,從而產(chǎn)生一個具體的可執(zhí)行函數(shù)的定義(這個過程稱為模板實(shí)例化):

 

  1. void printArray(int *array,int count); 

 

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-01 14:07:12

C++多態(tài)性

2010-02-04 13:56:24

C++類模板特化

2010-02-03 14:36:47

C++仿函數(shù)

2010-02-04 10:08:00

C++靜態(tài)成員函數(shù)

2023-12-13 10:51:49

C++函數(shù)模板編程

2010-02-03 13:22:07

C++時間

2010-02-05 12:57:20

C++ kdevelo

2010-02-02 10:33:22

C++引用

2010-02-02 13:41:01

C++類繼承

2010-02-03 11:11:18

C++類型轉(zhuǎn)換

2010-02-02 15:30:05

C++ include

2010-02-01 17:24:41

C++循環(huán)語句

2010-02-04 14:01:43

C++非類型類模板參數(shù)

2010-02-06 14:04:58

C++內(nèi)存使用機(jī)制

2010-02-06 09:53:26

C++ void

2010-01-15 13:30:50

VB.NET Prog

2023-12-24 12:56:14

C++函數(shù)語言

2010-02-04 17:39:48

C++字符串類型

2010-02-06 15:58:10

C++集合初始化

2010-02-04 17:32:43

C++中C風(fēng)格字符串
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美精品三区 | 日本人做爰大片免费观看一老师 | 香蕉视频1024 | 91精品在线播放 | 蜜臀久久99精品久久久久久宅男 | 精品成人一区二区 | 91在线色视频 | 欧美黑人一区二区三区 | 国产黄色在线观看 | 国产三级在线观看播放 | 中文字幕在线一区二区三区 | 99热都是精品 | 精品免费av | 国产成人精品一区二区三区在线 | 亚洲在线免费观看 | 国产一区久久久 | 久久久国产一区 | 久免费视频 | 少妇无套高潮一二三区 | 真人女人一级毛片免费播放 | 久久精品国产一区 | 国产成人精品免高潮在线观看 | 嫩草视频免费 | 麻豆成人在线视频 | 日韩黄色av | 青青草亚洲 | 犬夜叉在线观看 | 91看片在线| 成人午夜 | 中文在线a在线 | 国产在线播放av | 69堂永久69tangcom | 一区二区视频免费观看 | 超碰精品在线 | 亚洲一区二区综合 | 国产在线观看一区二区 | 亚洲综合大片69999 | 国产农村妇女精品一二区 | 天天干,夜夜操 | 日韩精品久久一区二区三区 | 亚洲午夜精品视频 |