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訪(fǎng)問(wèn)。
具體用法:
訪(fǎng)問(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ǔ)言strlen和sizeof在數(shù)組中的使用詳解
對(duì)于 strlen 和 sizeof,相信不少程序員會(huì)混淆其功能。雖然從表面上看它們都可以求字符串的長(zhǎng)度,但二者卻存在著許多不同之處及本質(zhì)區(qū)別2021-10-10
C語(yǔ)言設(shè)計(jì)前中后隊(duì)列實(shí)例代碼
隊(duì)列最主要的作用就是用來(lái)管理數(shù)據(jù)流的,防止數(shù)據(jù)因?yàn)閭鬏旑l率過(guò)快得不到及時(shí)處理而丟失,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言設(shè)計(jì)前中后隊(duì)列的相關(guān)資料,需要的朋友可以參考下2021-12-12
C++?STL之string的模擬實(shí)現(xiàn)實(shí)例代碼
C++中有命名空間的存在,我們只需把我們的代碼封到自定義的命名空間即可,下面這篇文章主要給大家介紹了關(guān)于C++?STL之string的模擬實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2023-01-01
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜拳小游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜拳小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
C語(yǔ)言調(diào)用SQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)增刪改查
SQLite是一種輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),是一個(gè)開(kāi)源的、零配置的、服務(wù)器端的、自包含的、零管理的、事務(wù)性的SQL數(shù)據(jù)庫(kù)引擎,本文主要介紹了如何調(diào)用SQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)增刪改查,需要的可以參考一下2023-08-08
C++中常見(jiàn)容器類(lèi)的使用方法詳解(vector/deque/map/set)
C++中常見(jiàn)的容器類(lèi)有vector、list、deque、map、set、unordered_map和unordered_set。下面將舉例直接說(shuō)明各個(gè)容器的使用方法,希望對(duì)大家有所幫助2023-03-03
C++ throw關(guān)鍵字實(shí)現(xiàn)拋出異常和異常規(guī)范
本文主要介紹了C++ throw關(guān)鍵字實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08

