亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據結構--泛型編程

發布時間:2020-08-23 04:26:59 來源:網絡 閱讀:266 作者:淡淡_小孩 欄目:開發技術

一 泛型編程的概念

泛型的定義主要有以下兩種:
1.在程序編碼中一些包含類型參數的類型,也就是說泛型的參數只可以代表類,不能代表個別對象。(這是當今較常見的定義)
2.在程序編碼中一些包含參數的類。其參數可以代表類或對象等等。(人們大多把這稱作模板)不論使用哪個定義,泛型的參數在真正使用泛型時都必須作出指明。
一些強類型編程語言支持泛型,其主要目的是加強類型安全及減少類轉換的次數,但一些支持泛型的編程語言只能達到部分目的。
泛型編程是一種不考慮具體數據類型的編程方式,可以由下面的Swap函數來進行了解

   void Swap(T& a,T& b)
     {
         T t=a;
         a=b;
         b=t;
     }

在這個例子中,Swap泛型的寫法中的T不是一個具體的數據類型,而是泛指任意的數據類型

二 C++中的函數模板

一種特殊的函數可用不同的類型進行調用,看起來和普通的函數很相似,區別是類型可被參數化

  template<typename T>
   void Swap(T& a,T& b)
     {
         T t=a;
         a=b;
         b=t;
     }

函數模板的語法規則:
template關鍵字用于聲明開始進行泛型編程
typename關鍵字用于聲明泛指類型
函數模板使用有自動類型推導使用和具體類型調用兩種

int a=0;
int b=1;
Swap(a,b);//自動推導

float c=2;
float d=3;
Swap<float>(c,d);//顯示調用

三 C++中的類模板

C++中的類模板以相同的方式處理不同的類型,在類聲明前使用template進行標識
<typename T>用于說明類中使用的泛指類型T

template <typename T>
class Book
{
    public:
        T Bo(T a,T b);
};

類模板的應用
1.只能顯示指定具體類型,無法自動推導
2.使用具體類型<type>定義對象

Book<int>book1;
Book<string>book2;
Book<char>book3;
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都江堰市| 景东| 西丰县| 密云县| 商城县| 赤峰市| 新河县| 盱眙县| 娄烦县| 额济纳旗| 阿尔山市| 定州市| 潮安县| 鄂尔多斯市| 阿克陶县| 兰州市| 嘉黎县| 凤凰县| 南昌市| 北安市| 临海市| 南江县| 唐海县| 铜陵市| 平舆县| 康乐县| 梨树县| 寿宁县| 县级市| 莎车县| 杭州市| 盘锦市| 哈尔滨市| 诸城市| 上林县| 吴堡县| 沙河市| 永康市| 灯塔市| 佳木斯市| 墨玉县|