54 模板初識

2021-09-26 11:07:06 字數 1311 閱讀 6003

函式模板基本使用

template < class / typename  t> 告訴編譯器緊跟的**裡出現t不要報錯

myswap( t  &a,  t  &b ){} 型別也需要傳入 ,型別引數化

myswap(a,b) 自動型別推導  按照a b的型別 來替換t

myswap(a,b) 顯示指定型別

template// 告訴編譯器 下面如果出現t不要報錯,t是乙個通用的型別

void myswap(t &a, t &b)

// template等價於 templatetemplatevoid myswap2(){}

main.cpp

// 42.模板.cpp : 定義控制台應用程式的入口點。

//#include "iostream"

using namespace std;

//交換int型別資料

void swapint(int& a, int& b)

//交換double型別資料

void swapdouble(double& a, double& b)

//型別,邏輯又非常相似

//型別引數化 泛型程式設計 -- 模板技術

template// 告訴編譯器 下面如果出現t不要報錯,t是乙個通用的型別

void myswap(t &a, t &b)

// template等價於 templatetemplatevoid myswap2(){}

int main()

模板實現int和char的排序

#define _crt_secure_no_warnings

#includeusing namespace std;

//對char和int陣列進行排序 排序規則 從大到小 利用選擇排序

template void myswap( t &a, t &b)

templatevoid mysort( t arr, int len )

} if (max != i)

}}//輸出陣列元素的模板

templatevoid printarray( t arr, int len)

cout << endl;

}void test01()

; int num2 = sizeof(intarr) / sizeof (int);

mysort(intarr, num2);

printarray(intarr, num2);

}int main()

初識C 模板(函式 類模板)

三 類模板 如何實現乙個通用的加法函式呢?int add int left,int right double add double left,double right char add char left,char right 使用函式過載雖然可以實現,但是有以下幾個不好的地方 過載的函式僅僅只是型...

c 之初識模板

模板 函式模板和類模板 一 函式模板 1 概念 函式模板代表了乙個家族,在使用時被引數化,根據實參型別產生函式的特定型別模板。2 函式模板格式 template.typename tn 返回值型別 函式名 引數列表 template void swap t left,t right 注意 typen...

初識Latex及模板套用

latex是一款強大的文章排版利器,在各大高校及知名科研機構乃至書籍印刷領域用途及其廣泛,相比word,它有不可替代的文件編輯排版的優勢,尤其是在數學公式編輯方面。本文是筆者對從安裝latex到匯入某一機構的模板並開始 創作全過程的總結,希望對初次使用的同學有所幫助。latex與tex的關係 lat...