// explicit建構函式是用來防止隱式轉換的。請看下面的**:
1class
test1
2//普通建構函式
5private
:6 int num;7}
;89class
test2
10//explicit(顯式)建構函式
13private
:14 int num;15}
;1617 int main()
18
注:
test1的建構函式帶乙個int型的引數,**19行會隱式轉換成呼叫test1的這個建構函式。而test2的建構函式被宣告為explicit(顯式),這表示不能通過隱式轉換來呼叫這個建構函式,因此**20行會出現編譯錯誤。
普通建構函式能夠被隱式呼叫。而explicit建構函式只能被顯示呼叫。
關於explicit的應用
什麼是explicit呢?很簡單,他就是乙個讓隱式格式轉換失效的關鍵字。c 提供了 關鍵字explicit,可以阻止不應該允許的經過 轉換建構函式 進行的隱式轉換的發生。宣告為explicit的 建構函式 不能在隱式轉換中使用。下面解釋一下 explicit student const std st...
Linux篇 萬用字元的應用
萬用字元 萬用字元是shell在做pathnameexpansion時用到的。說白了一般只用於檔名匹配,它是由shell解析的,比如find,ls,cp,mv等。shell中常見的萬用字元 小tips 與區別 只能用來找檔案 用來找檔案,或創造檔案,生成序列 shell中常見的元字元 轉義字元 有時...
vue router路由的應用篇
檢視依賴是否存在,如下已存在,一般初始化的專案都已經安裝了vue router依賴 d node mydemo npm list vue router mydemo 1.0.0 d node mydemo vue router 3.3.4 如果依賴不存在 執行依賴安裝指令 d node mydemo...