最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中pair使用的示例代碼

 更新時(shí)間:2025年02月26日 15:03:39   作者:黎明之時(shí)  
本文主要介紹了C++中pair使用的示例代碼,用于存儲(chǔ)兩個(gè)不同類型的元素,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、pair的介紹

  pair是一個(gè)很實(shí)用的"小玩意",當(dāng)想要將兩個(gè)元素綁在一起作為一個(gè)合成元素,又不想因此定義結(jié)構(gòu)體時(shí),使用pair可以很方便地作為一個(gè)替代品。

  也就是說,pair實(shí)際上可以看作一個(gè)內(nèi)部有兩個(gè)元素的結(jié)構(gòu)體,且這兩個(gè)元素的類型是可以指定的,如下:

struct pair
{
    typeName1 first;
    typeName2 second;
};

二、pair的定義

  要使用pair,應(yīng)先添加頭文件#include<utility>,并在頭文件下面加上"using namespace std",然后就可以使用了。

   注意:由于map的內(nèi)部實(shí)現(xiàn)中涉及pair,因此添加map頭文件時(shí)會(huì)自動(dòng)添加utility頭文件,此時(shí)如果需要使用pair,就不需要額外再去添加utility頭文件了。

//pair有兩個(gè)參數(shù),分別對(duì)應(yīng)first和second的數(shù)據(jù)類型,他們可以是任意基本數(shù)據(jù)類型或容器。
pair<typeName1,typeName2>name;
//想要定義參數(shù)為string和int類型的pair,如下:
pair<string,int>p;
//如果想在定義pair時(shí)進(jìn)行初始化,只需要跟上一個(gè)小括號(hào),里面填寫兩個(gè)想要初始化的元素即可;
pair<string,int>p("haha",5);
//如果想要在代碼中臨時(shí)構(gòu)建一個(gè)pair,有如下兩種方法:
/*
    (1)將類型定義寫在前面,后面用小括號(hào)內(nèi)兩個(gè)元素的方式。
*/
pair<string,int>("haha",5);
/*
    (2)使用自帶的make_pair函數(shù)
*/
make_pair("haha",5);

三、pair中元素的訪問

pair中只有兩個(gè)元素,分別是firstsecond,只需要按正常結(jié)構(gòu)體的方式去訪問即可

#include<bits/stdc++.h>
using namespace std;

int main()
{
    pair<string,int>p;
    p.first="haha";
    p.second=5;
    cout<<p.first<<" "<<p.second<<endl;
    p=make_pair("xixi",55);
    cout<<p.first<<" "<<p.second<<endl;
    p=pair<string,int>("heihei",555);
    cout<<p.first<<" "<<p.second<<endl;
}

四、pair常用函數(shù)實(shí)例解析

(1)比較函數(shù)

兩個(gè)pair類型數(shù)據(jù)可以直接使用關(guān)系運(yùn)算符比較大小,
比較規(guī)則是先以first的大小作為標(biāo)準(zhǔn),只有first相等采取判斷second的大小

#include<bits/stdc++.h>
using namespace std;

int main()
{
    pair<int,int>p1(5,10);
    pair<int,int>p2(5,15);
    pair<int,int>p3(10,5);
    if(p1<p3)
        printf("p1<p3\n");
    if(p1<=p3)
        printf("p1<=p3\n");
    if(p1<p2)
        printf("p1<p2\n");
    return 0;
}

pair的常見用途

關(guān)于pair有兩個(gè)比較常見的例子:

  (1)用來代替二元結(jié)構(gòu)體及其構(gòu)造函數(shù),可以節(jié)省編碼空間

  (2)作為map的鍵值對(duì)來進(jìn)行插入,如下

#include<bits/stdc++.h>
using namespace std;

int main()
{
    map<string,int>mp;
    mp.insert(make_pair("hah",5));
    mp.insert(pair<string,int>("heihei",10));
    for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)
        cout<<it->first<<" "<<it->second<<endl;
    return 0;
}

到此這篇關(guān)于C++中pair使用的示例代碼的文章就介紹到這了,更多相關(guān)C++ pair使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 深入理解QT多線程編程

    深入理解QT多線程編程

    本文主要介紹了QT多線程編程的深入理解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • C++實(shí)現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù))

    C++實(shí)現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(7.翻轉(zhuǎn)整數(shù)),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Linux UDP服務(wù)端和客戶端程序的實(shí)現(xiàn)

    Linux UDP服務(wù)端和客戶端程序的實(shí)現(xiàn)

    這篇文章主要介紹了Linux UDP服務(wù)端和客戶端程序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C語言使用鏈表實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    C語言使用鏈表實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言使用鏈表實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • c語言版本二叉樹基本操作示例(先序 遞歸 非遞歸)

    c語言版本二叉樹基本操作示例(先序 遞歸 非遞歸)

    這篇文章主要介紹了實(shí)現(xiàn)二叉樹的創(chuàng)建(先序)、遞歸及非遞歸的先、中、后序遍歷
    2013-11-11
  • C++中.inc文件的具體使用

    C++中.inc文件的具體使用

    在C++ 中,.inc文件通常是指包含文件,但它們的使用場(chǎng)景與?.h(頭文件)略有不同,不聲明接口,常用于模塊化、條件編譯及跨文件復(fù)用,下面就來介紹一下
    2025-06-06
  • 詳解c++中的類型識(shí)別

    詳解c++中的類型識(shí)別

    這篇文章主要介紹了 詳解c++中的類型識(shí)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • C語言整數(shù)和浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方法示例

    C語言整數(shù)和浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方法示例

    在C語言中整形和浮點(diǎn)型數(shù)據(jù)的存儲(chǔ)方式有所不同,這篇文章主要介紹了C語言整數(shù)和浮點(diǎn)數(shù)在內(nèi)存中存儲(chǔ)方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-08-08
  • C++?STL容器詳解之紅黑樹部分模擬實(shí)現(xiàn)

    C++?STL容器詳解之紅黑樹部分模擬實(shí)現(xiàn)

    本文主要對(duì)紅黑樹進(jìn)行了詳細(xì)介紹,并對(duì)其核心功能進(jìn)行了模擬實(shí)現(xiàn)。文中的代碼對(duì)我們的學(xué)習(xí)或工作有一定的價(jià)值,感興趣的小伙伴可以了解一下
    2021-12-12
  • C++中堆內(nèi)存和棧內(nèi)存區(qū)別小結(jié)

    C++中堆內(nèi)存和棧內(nèi)存區(qū)別小結(jié)

    在C++中,堆和棧是兩種核心的內(nèi)存管理區(qū)域,用于存儲(chǔ)不同類型的數(shù)據(jù),它們?cè)诜峙浞绞?、生命周期、大小限制、性能等方面有顯著差異,下面就來介紹一下具體的差異
    2025-07-07

最新評(píng)論

黑水县| 昌邑市| 潞西市| 景泰县| 南陵县| 闻喜县| 浦城县| 安化县| 博白县| 连城县| 温州市| 榆社县| 自贡市| 瓮安县| 安宁市| 天镇县| 三都| 张家界市| 石狮市| 柯坪县| 云阳县| 屏南县| 二连浩特市| 三穗县| 大余县| 河源市| 闽侯县| 河南省| 腾冲县| 通州市| 贵南县| 历史| 普宁市| 大理市| 汝州市| 舞钢市| 扶绥县| 台山市| 兰考县| 临朐县| 农安县|