C++ pair方法與vector方法案例詳解
一,pair方法
類(lèi)模板:template <class T1, class T2> struct pair
參數(shù):T1是第一個(gè)值的數(shù)據(jù)類(lèi)型,T2是第二個(gè)值的數(shù)據(jù)類(lèi)型。
功能:pair將一對(duì)值組合成一個(gè)值,這一對(duì)值可以具有不同的數(shù)據(jù)類(lèi)型(T1和T2),兩個(gè)值可以分別用pair的兩個(gè)公有函數(shù)first和second訪問(wèn)。
具體用法:
訪問(wèn)兩個(gè)元素(通過(guò)first和second):
pair<int, double> p1; //使用默認(rèn)構(gòu)造函數(shù) p1.first = 1; p1.second = 2.5; cout << p1.first << ' ' << p1.second << endl;
輸出結(jié)果:1 2.5
賦值operator = :
1)利用make_pair:
pair<int, double> p1; p1 = make_pair(1, 1.2);
2)變量間賦值:
pair<int, double> p1(1, 1.2); pair<int, double> p2 = p1;
二,vector方法
vector方向需要頭函數(shù)#include<vector>
向量(Vector)是一個(gè)封裝了動(dòng)態(tài)大小數(shù)組的順序容器(Sequence Container)。跟任意其它類(lèi)型容器一樣,它能夠存放各種類(lèi)型的對(duì)象。可以簡(jiǎn)單的認(rèn)為,向量是一個(gè)能夠存放任意類(lèi)型的動(dòng)態(tài)數(shù)組。
1.構(gòu)造函數(shù)
- vector():創(chuàng)建一個(gè)空vector
- vector(int nSize):創(chuàng)建一個(gè)vector,元素個(gè)數(shù)為nSize
- vector(int nSize,const t& t):創(chuàng)建一個(gè)vector,元素個(gè)數(shù)為nSize,且值均為t
- vector(const vector&):復(fù)制構(gòu)造函數(shù)
- vector(begin,end):復(fù)制[begin,end)區(qū)間內(nèi)另一個(gè)數(shù)組的元素到vector中
2.增加函數(shù)
- void push_back(const T& x):向量尾部增加一個(gè)元素X
- iterator insert(iterator it,const T& x):向量中迭代器指向元素前增加一個(gè)元素x
- iterator insert(iterator it,int n,const T& x):向量中迭代器指向元素前增加n個(gè)相同的元素x
- iterator insert(iterator it,const_iterator first,const_iterator last):向量中迭代器指向元素前插入另一個(gè)相同類(lèi)型向量的[first,last)間的數(shù)據(jù)
3.刪除函數(shù)
- iterator erase(iterator it):刪除向量中迭代器指向元素
- iterator erase(iterator first,iterator last):刪除向量中[first,last)中元素
- void pop_back():刪除向量中最后一個(gè)元素
- void clear():清空向量中所有元素
4.遍歷函數(shù)
- reference at(int pos):返回pos位置元素的引用
- reference front():返回首元素的引用
- reference back():返回尾元素的引用
- iterator begin():返回向量頭指針,指向第一個(gè)元素
- iterator end():返回向量尾指針,指向向量最后一個(gè)元素的下一個(gè)位置
- reverse_iterator rbegin():反向迭代器,指向最后一個(gè)元素
- reverse_iterator rend():反向迭代器,指向第一個(gè)元素之前的位置
5.判斷函數(shù)
- bool empty() const:判斷向量是否為空,若為空,則向量中無(wú)元素
6.大小函數(shù)
- int size() const:返回向量中元素的個(gè)數(shù)
- int capacity() const:返回當(dāng)前向量張紅所能容納的最大元素值
- int max_size() const:返回最大可允許的vector元素?cái)?shù)量值
7.其他函數(shù)
- void swap(vector&):交換兩個(gè)同類(lèi)型向量的數(shù)據(jù)
- void assign(int n,const T& x):設(shè)置向量中第n個(gè)元素的值為x
- void assign(const_iterator first,const_iterator last):向量中[first,last)中元素設(shè)置成當(dāng)前向量元素
到此這篇關(guān)于C++ pair方法與vector方法案例詳解的文章就介紹到這了,更多相關(guān)C++ pair方法與vector方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入解析C語(yǔ)言中的內(nèi)存分配相關(guān)問(wèn)題
這篇文章主要深入地介紹了C語(yǔ)言中的內(nèi)存分配,C語(yǔ)言編程中的內(nèi)存泄漏問(wèn)題一直以來(lái)都是C編程中的一大棘手問(wèn)題,本文從malloc和指針等方面對(duì)C內(nèi)存進(jìn)行了深層次講解,強(qiáng)烈推薦!需要的朋友可以參考下2015-08-08C++教程之a(chǎn)rray數(shù)組使用示例詳解
這篇文章主要為大家介紹了C++教程之a(chǎn)rray數(shù)組使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03C語(yǔ)言中函數(shù)指針的三種使用方法總結(jié)
這篇文章主要介紹了 C語(yǔ)言中函數(shù)指針的三種使用方法總結(jié)的相關(guān)資料,希望通過(guò)本文大家能夠徹底掌握指針的使用方法,需要的朋友可以參考下2017-10-10詳解C++的String類(lèi)的字符串分割實(shí)現(xiàn)
這篇文章主要介紹了詳解C++的String類(lèi)的字符串分割實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-07-07c++調(diào)用實(shí)現(xiàn)yolov5轉(zhuǎn)onnx介紹
大家好,本篇文章主要講的是c++調(diào)用實(shí)現(xiàn)yolov5轉(zhuǎn)onnx介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12C語(yǔ)言實(shí)現(xiàn)單位車(chē)輛調(diào)度管理
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)單位車(chē)輛調(diào)度管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03C語(yǔ)言中的自定義類(lèi)型之結(jié)構(gòu)體與枚舉和聯(lián)合詳解
今天我們來(lái)學(xué)習(xí)一下自定義類(lèi)型,自定義類(lèi)型包括結(jié)構(gòu)體、枚舉、聯(lián)合體,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考2022-06-06Linux下實(shí)現(xiàn)C++操作Mysql數(shù)據(jù)庫(kù)
由于工作需要抽出一周的時(shí)間來(lái)研究C/C++訪問(wèn)各種數(shù)據(jù)庫(kù)的方法,并打算封裝一套數(shù)據(jù)庫(kù)操作類(lèi),現(xiàn)在奉上最簡(jiǎn)單的一部分:在Linux下訪問(wèn)MySQL數(shù)據(jù)庫(kù)。2017-05-05