C++ STL学习笔记 : 1. template 模板函数
本篇文章是學(xué)習(xí)C++ STL庫的第一篇筆記,主要記錄了使用template關(guān)鍵字創(chuàng)建模板函數(shù)的方法。
下面用一個非常簡單的例子解釋模板函數(shù)的用法 :
輸出結(jié)果如下:
使用模板函數(shù)最大的優(yōu)點,在于我們可以對一類函數(shù)進(jìn)行統(tǒng)一定義,這類函數(shù)一般內(nèi)部的邏輯相同,唯一的區(qū)別在于使用的參數(shù),變量類型不同。使用模板函數(shù)對這一類函數(shù)進(jìn)行統(tǒng)一定義,在調(diào)用和維護(hù)時都會更為方便。在上述例子中,我們實現(xiàn)了一個調(diào)換兩個變量值的函數(shù),這個函數(shù)可以調(diào)換任意兩個同類型變量的值。
在使用模板函數(shù)時,首先我們使用關(guān)鍵字template定義一個變量類型的類,例如這里的T。我們可以同時定義幾個變量類型的類:
在調(diào)用模板函數(shù)時有兩種方式,第一種和普通函數(shù)一樣調(diào)用,例如上述例子中的:
myswap(a,b);或者也可以定義好具體的類型:
myswap<double>(c,d);1.需要注意的是,template定義的類模板,只對下一個函數(shù)有效。也就是說每次使用模板函數(shù)需要重新使用template關(guān)鍵字,一個模板函數(shù)對應(yīng)一個template關(guān)鍵字。
2.模板函數(shù)仍然可以像普通函數(shù)一樣被重載。
3.當(dāng)模板函數(shù)和普通函數(shù)都滿足調(diào)用的條件,程序會優(yōu)先調(diào)用普通函數(shù)。
4.模板函數(shù)在調(diào)用的時候,其參數(shù)的類型必須嚴(yán)格對應(yīng),否則無法調(diào)用。
本篇文章主要參考了youtube視頻,鏈接如下:
https://www.youtube.com/watch?v=xEz4jdKEfSI&list=PLzKtnppOmiXD-pyI4bjNzn9Km2ugRkdUK&index=1
總結(jié)
以上是生活随笔為你收集整理的C++ STL学习笔记 : 1. template 模板函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS(Robot Operating
- 下一篇: C++ STL学习笔记 : 2. uno