C 模版全掌握(例項)

2021-08-24 22:55:33 字數 3360 閱讀 9383

下面列出了模版的常用情況:

//1. 模板類靜態成員

template

<

typename t

>

struct

testclass

; template

<>

inttestclass

<

char

>

::_data =1

; template

<>

inttestclass

<

long

>

::_data =2

; int

main(

void

) //

2. 模板類偏特化

template

<

class

i, class

o>

struct

testclass };

template

<

class

t>

struct

testclass

, t*>};

template

<

class

t>

struct

testclass

<

constt*

, t*>};

intmain(

void

) //

3.類模版+函式模版

template

<

class

t>

struct

testclass };

template

<

class

t>

inline

void

swap( testclass

<

t>&

x, testclass

<

t>&

y )

intmain(

void)//

4. 類成員函式模板

struct

testclass

template

<

class

t>

operator

t() };

intmain(

void

) //

5. 預設模板引數推導

template

<

class

t>

struct

test

; template

<

class

i, classo=

test

<

i>

>

struct

testclass

; void

main()

//6. 非型別模板引數

template

<

class

t, int

n>

struct

testclass };

intmain(

void

) //

7. 空模板引數

template

<

class

t>

struct

testclass;

template

<

class

t>

bool

operator

==(

const

testclass

<

t>&

, const

testclass

<

t>&) }

;template

<>

class

widget1

<

int>};

template

<>

void

widget1

<

char

>

::fun1()

void

main()

//-------------------------------------------

//2 全域性函式的特化和過載

template

<

typename t1, typename t2

>

t1 fun2(t2)

//下面2個應該是屬於過載

template

<

typename t2

>

char

fun2(t2)

template

<

typename t1

>

t1 fun2(

char)//

全域性函式的特化

template

<>

char

fun2

<

char

,int

>

(int

)int

main()

//-------------------------------------------

//3 全域性函式不能半特化,以下編譯失敗

template

<

typename t1,typename t2

>

//原型1

void

test(t1,t2)

template

<

typename t1

>

void

test

<

t1,t1

>

(t1,t1)

template

<

typename t1, typename t2

>

//原型2

t1 fun2(t2)

//template

<

typename t2

>

intfun2

<

int,t2

>

(t2)

template

<

typename t1

>

t1 fun2

<

t1,int

>

(int

)template

<

typename t

>

t fun2

<

t,t>

(t){

Vue全掌握 路由

技術需求 瀏覽器無論訪問什麼位址,訪問的真實頁面始終是index.html,vue根據不同的位址,渲染不同的元件。由於真實頁面是唯一的,使用者看到的頁面切換,實際上是元件的切換,這種應用稱之為單頁應用 開發單頁應用涉及到兩個核心問題 在哪個位置切換元件 訪問路徑如何對應元件 使用vue router...

C 模版全特化 偏特化 型別萃取

什麼是特化?沒有特化的c 模版中,不管傳入引數是什麼型別,都是一樣的處理方式。但是當我們需要針對某個特定的型別做特殊的處理的時候,這個時候就需要用到特化了。全特化 我們可以將某乙個類或某乙個函式單獨拿出來特化。舉個例子 template class t class vector private si...

掌握Thinkphp3 2 0 模版基礎

我們將要學習一下 thinkphp 模版,thinkphp 內建了乙個基於 xml 的效能 卓越的模版引擎 thinktemplate,使用了動態編譯和快取技術,支援自定義標籤庫,其實我還體會不到其中的強大,慢慢體會吧 一 變數輸出 1.普通變數 控制器提供資料 1 給模版傳遞乙個變數 2 user...