faq 2.15
在c++中模板是最強大的**復用機制.模板最普通的用法是容器,容器是用來建立包含其他物件的物件。有許多不同的容器模板,包括鏈結的列表(list),向量(vectors)也就是(arrays),sets,和maps。容器模板讓程式設計師在使用前人總結的精煉的資料結構中獲益。例如二進位制樹,總是保持平衡,雜湊表(hash tables),跳躍表(skip lists),伸展樹(splay trees),而且不用知道這些資料結構的細節。
模板首先看起來挺有趣,一但你使用它就會發現,它和普通的類沒有太大的區別,僅僅奇怪的地方是三角框:乙個向量car被宣告為vector.typedef語法用來使使用更加方便:它用來建立更容易理解的符號就像:carlist。
#include#include
#include using namespace std;
#include "car.hpp"
typedef vectorcarlist;
typedef vectorstringlist;
int main()
(1) 包含標準向量模板這個例子中建立了兩個向量物件:x是乙個car向量物件,y是乙個string向量物件。這類似於c-like中的陣列(car x[3]; and string y[3];),但是向量物件是更加靈活,他們可以增長到任意的尺寸,他們是安全的,他們還有許多其他的功能。(2) 包含標準字串模板
(3) 包含使用者定義的car類
(4) 同義轉化
(5) 同義轉化
(6) 建立乙個car物件向量
(7)將a物件追加到 向量 carlist的物件x中
(8) 建立乙個string物件向量
(9) 追加string "foo" 到 向量stringlist的物件y中
(10) 對字串向量物件y排序
uml用下面的符號展示例項化的vector和vector模板向量。
什麼是容器,什麼是Docker
此文 自行文時有所改動 容器是一種輕量級 可移植 自包含的軟體打包技術,使應用程式可以在幾乎任何地方以相同的方式執行。開發人員在自己筆記本上建立並測試好的容器,無需任何修改就能夠在生產系統的虛擬機器 物理伺服器或公有雲主機上執行。docker是容器的一種,還有其他容器,比如 coreos 的 rkt...
什麼是基類,什麼是父類
基類就是父類,派生類就是子類 你可以理解為生活中的父子關係,也就是說兒子繼承了所有的父親的樣貌特徵,但是兒子也有父親所沒有的一些特點 專業點講,就是子類可以繼承並使用父類的屬性和方法,也可以有自己的屬性和方法!不知道這麼說你能理解不?這裡又要講到一些繼承的特性 繼承使用繼承是為了減少 的冗餘,增強 ...
什麼是基類,什麼是父類
基類就是父類,派生類就是子類 你可以理解為生活中的父子關係,也就是說兒子繼承了所有的父親的樣貌特徵,但是兒子也有父親所沒有的一些特點 專業點講,就是子類可以繼承並使用父類的屬性和方法,也可以有自己的屬性和方法!不知道這麼說你能理解不?這裡又要講到一些繼承的特性 繼承使用繼承是為了減少 的冗餘,增強 ...