1. 數(shù)據(jù)結(jié)構(gòu)課程的特點(diǎn)
- 專注于數(shù)據(jù)元素之間的關(guān)系
- 專注于特定結(jié)構(gòu)之上的算法
2. 泛型編程
泛型編程的概念:不考慮具體數(shù)據(jù)類型的編程方式
C++中函數(shù)模板:一種特殊的函數(shù)可用不同類型進(jìn)行調(diào)用,看起來和普通函數(shù)很相似苗胀,卻別是類型可被參數(shù)化挽荡。
template<typename T>
void swap(T& a, T& b)
{
T t = a;
a = b;
b = t;
}
C++中類模板:以相同的方式處理不同的類型搀擂, 在類聲明前使用template
進(jìn)行標(biāo)識
template< typename T>
class Operator
{
public:
T op(T a, T b);
}
Operator<int> op1; // 必須顯示指定具體類型
int i = op1.op(1, 2);
3. 小結(jié)
- 模板是泛型編程理論在C++中的實(shí)現(xiàn)
- 函數(shù)模板支持參數(shù)的自動推導(dǎo)和顯示指定
- 類模板在使用時只能顯示指定類型
- 類模板非常適用于編寫數(shù)據(jù)結(jié)構(gòu)的相關(guān)代碼
聲明:此文章僅是本人在學(xué)習(xí)狄泰學(xué)院《數(shù)據(jù)結(jié)構(gòu)實(shí)戰(zhàn)開發(fā)教程》所做的筆記娜汁,文章中包含狄泰軟件資料內(nèi)容际长,一切版權(quán)歸狄泰軟件所有餐屎!
實(shí)驗(yàn)環(huán)境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4