模板元程式設計的2個小例子

2021-07-26 15:23:15 字數 972 閱讀 3267

一、概念引入

metaprograming含有對乙個程式進行程式設計的意思,含有一種反射的特性:metaprograming元件只是程式的一部分,而且它也只生成一部分**或者程式。

metaprograming有乙個重要的特點:某些使用者自定義的計算可以再程式的編譯器進行,帶來程式效能的提公升和介面簡單性的提公升

二、template metaprograming(模板元程式設計)的2個例子

//模板元程式設計

//第乙個:計算3的n次冪

#include

#include

using namespace std;

template

class pow3;

//用於結束遞迴的全域性特化

template < >

class pow3<0>;

int main(int argc, char *argv)

//模板元程式設計

//如何計算 2個向量的點乘?

//這裡只做簡單的計算:a[3] .  b[3] = a[0]*b[0] + a[1]*b[1] + a[2]*b[2];

#include

#include

using namespace std;

template

class dotproduct

};template

class dotproduct<1, t>

};//內聯函式提高效率

template

inline t dot_product (t* a , t* b)

int main(int argc, char *argv);

int b[3]=;

cout<<"dot_product<3>(a,b)= "<< dot_product<3>(a,b)<(a,a)= "<< dot_product<3>(a,a)<

文字的乙個小例子

自然語言文字預處理 導入庫 import pandas as pd import jieba 結巴分詞 from sklearn.feature extraction.text import tfidfvectorizer 基於tf idf的詞頻轉向量庫 分詞函式 def jieba cut str...

ViewPager的乙個小例子

早就聽說有這個viewpager控制項,專案要中使用的也多,viewpager也是更新到了viewpager2。但是我一直沒有使用過,現在記錄一下簡單的使用方法。它的使用和recycleview listview的使用大同小異。也需要介面卡和監聽事件。相信用過這些控制項的同學一定不陌生。上 acti...

乙個多執行緒的小例子 C 高階程式設計學習

c 高階程式設計學習時的小例子 public void main for int i 0 i threadcount i console.writeline all threads finished public void threadmain object o locks the semaphor...