c 模板的型別推導 陣列

2021-07-29 00:06:29 字數 757 閱讀 6247

// compile with c++11

#include #include #include using namespace std;

templateint getsize(t arg)

templateint getsize2(t &arg)

int main()

; int64_t arr2=;

cout << "type:" << typeid(arr).name() << ":";

cout << "sizeof(arr) :" << sizeof(arr) << endl;

cout << "getsize(arr) :" << getsize(arr) << endl;

cout << "getsize2(arr) :" << getsize2(arr) << endl;

cout << "type:" << typeid(arr2).name() << ":";

cout << "sizeof(arr2) :" << sizeof(arr2) << endl;

cout << "getsize(arr2) :" << getsize(arr2) << endl;

cout << "getsize2(arr2) :" << getsize2(arr2) << endl;

return 0;

}

向模板函式傳遞陣列時,如果模板函式的引數無引用標記,則陣列退化成指標; 如果模板引數含引用標記,則一般保持陣列型別

C 模板型別推導

內容參考 effective modern c 中的條款1 int x 27 const int cx x const int rx x const int p x 1.paramtype是個指標或引用,但不是個萬能引用 去引用不去const template void f t param f x ...

C 模板函式的型別推導

我在用泛型程式設計寫二維vector的排序模板時,寫出這樣乙個 vector的字典序比較,v1 v2是false templatebool cmp vector v1,vector v2 編譯結果 1 c program files x86 microsoft visual studio 10.0 ...

模板型別推導

param引用無const修飾template void f t param int x 1 const int cx x const int rx x f x f cx f rx 函式呼叫 t的型別 param的型別 f x intint f cx const int const int f rx...