匯入 模板中的一些規則

2022-08-18 12:18:13 字數 790 閱讀 9261

1. 模板定義內的自定義型別成員呼叫方法(用typename顯示說明):類可以定義型別成員,如size_type, size_t等型別。在定義模板類時如何呼叫它呢?為了說明是型別,顯示用typename說明。

template

cl func(cl* cl_p, t value)

2. 非型別模板形參的使用:模板非型別形參是模板定義內部的常量值.(在需要常量表示式的時候,可以用非型別形參,如定義陣列的長度)。

因為非型別模板形參需要傳遞的是常量表示式,所以不支援一般的隱式型別轉換。

templatevoid fcn(t (&cl)[n])

int x[20];

fcn(x);

3. 模板何時例項化?函式宣告,定義物件的引用和指向物件的指標都不會例項化。定義類物件或呼叫函式時例項化。

4.friend模板宣告依賴性:(1) 當授予對給定模板所有例項的訪問權時,在作用域中不需要存在該類模板或函式模板的宣告。編譯器將友元宣告也當作類或函式的宣告對待;(2)想要限制對特定例項化的友元關係時,必須在可以用於友元宣告之前宣告類或函式。

5.對於不同引數的函式模板用相同引數可以呼叫麼?可以,會呼叫隱式轉換。

#include

using namespace std;

template

void print(const t1 &v1, const t2 &v2)

//引數型別不同

eslint 的一些規則

parenthese 圓括號 curly brace 花括號 comma 逗號 semicolon 分號 函式體中沒有花括號引數就不要有圓括號 物件中值必須要用單引號 定義但是沒有被使用,一般是可以被刪除的。有一種情況就是屬性驗證。proptypes沒有被使用,但是需要自己寫屬性驗證,所以就會被用上...

正則的一些規則

錨字元 邊界字元 行首匹配,和在裡的 不是乙個意思 行尾匹配 a 匹配字串開始,它和 的區別是,a只匹配整個字串的開頭,即使在re.m模式下也不會匹配它行的行首 z 匹配字串結束,它和 的區別是,z只匹配整個字串的結束,即使在re.m模式下也不會匹配它行的行尾 b 匹配乙個單詞的邊界,也就是值單詞和...

Makefile一些規則

一 makefile 的規則 在講述這個 makefile 之前,還是讓我們先來粗略地看一看makefile 的規則。target prerequisites command target也就是乙個目標檔案,可以是object file,也可以是執行檔案。還可以是乙個標 籤 label 對於標籤這種...