C vector類模板和auto關鍵字

2021-08-09 10:16:54 字數 1103 閱讀 9270

定義和初始化

方法含義

vectorv1

v1是乙個空的vector,它潛在的元素是t型別,執行預設的初始化

vectorv2(v1)

v2包含v1的所有元素的副本

vectorv2=v1

等價於v2(v1),v2中包含有v1所有元素的副本

vectorv3(n,val)

v3包含了n個重複的元素,每個元素的值都是val

vectorv4(n)

v4包含了n個重複地執行初始化的物件

vectorv5【c++11】

v5包含了初始值個數的元素,每個元素被賦予相應的初始值

vectorv5=【c++11】

等價於v5

是初始化還是元素數量

方法含義

vectorv1(10);

v1有10個元素,每個值都是0

vectorv2;

v2有1個元素,該元素的值是10

vectorv3(10,1);

v3有10個元素,每個值都是1

vectorv4;

v4有兩個元素,值分別是10,和1

vector上的操作

操作含義『

v.empty()

如果v不含有任何元素,則返回真;否則返回假

v.size()

返回v中的元素的個數

v.push_back(t)

向v的尾端新增乙個值為t的元素

v[n]

返回v中第n個位置上的元素的引用

v1=v2

用v2中的元素拷貝替換v1中的元素

v1=用列表中元素拷貝替換v1中的元素

v1==v2

v1和v2相等當且僅當它們的元素的數量相同且且對應位置元素的值都相同

v1!=v2

-<,<=,>,>=

以字典順序進行比較

c++11標準引入新的auto說明符,它能夠讓編譯器替我們去分析表示式所屬的型別,和原來那些只對應一種特定型別的說明符(比如int,double)不同,auto讓編譯器通過初始值來推算變數的型別。

vector

v;for(auto i:v)

類模板和模板類

c 提供的函式模板可以定義乙個對任何型別變數進行操作的函式,從而大大增強了函式設計的通用性。使用函式模板的方法是先說明函式模板,然後例項化成相應的模板函式進行呼叫執行。函式模板的一般說明形式如下 template 模板形參表 返回值型別 函式名 模板函式形參表 其中,模板形參表 可以包含基本資料型別...

類模板和模板類

所謂類模板,實際上是建立乙個通用類,其資料成員 成員函式的返回值型別和形參型別不具體指定,用乙個虛擬的型別來代表。使用類模板定義物件時,系統會實參的型別來取代類模板中虛擬型別從而實現了不同類的功能。定義乙個類模板與定義函式模板的格式類似,必須以關鍵字template開始,後面是尖括號括起來的模板引數...

模板型別推導 auto推導

effective modern c 果然是神書,乾貨滿滿,簡單記錄下。item1 模板推倒 典型的模板函式 temlate void fn paramtype param 要記住的東西 在模板型別推導的時候,有引用特性的引數的引用特性會被忽略 在推導通用引用引數的時候,左值會被特殊處理 在推導按值...