1. 程式人生 > >函式模板和類模板(C++)

函式模板和類模板(C++)

所謂函式模板,實際上是建立一個通用函式,其函式型別和形參型別不具體指定,用一個虛擬的型別來代表。這個通用函式就稱為函式模板。

函式模板和普通函式的區別: 函式模板不允許自動型別轉化,普通函式能夠進行自動型別轉換

函式模板和普通函式在一起呼叫的規則:

  1. 1 函式模板可以像普通函式一樣被過載
  2.   2 C++編譯器優先考慮普通函式
  3.   3 如果函式模板可以產生一個更好的匹配,那麼選擇模板
  4.   4 可以通過空模板實參列表的語法限定編譯器只通過模板匹配

函式模版和類模版有什麼區別?

函式模板的例項化是由編譯程式在處理函式呼叫時自動完成的,而類模板的例項化必須由程式設計師在程式中顯式地指定。