欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • C++ boost scoped_ptr智能指針詳解

    C++ boost scoped_ptr智能指針詳解

    智能指針是一種像指針的C++對(duì)象,但它能夠在對(duì)象不使用的時(shí)候自己銷毀掉。雖然STL提供了auto_ptr,但是由于不能同容器一起使用(不支持拷貝和賦值操作),因此很少有人使用。它是Boost各組件中,應(yīng)用最為廣泛的一個(gè)
    2022-11-11
  • 淺談C++的幾種從鍵盤輸入方式

    淺談C++的幾種從鍵盤輸入方式

    今天小編就為大家分享一篇淺談C++的幾種從鍵盤輸入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • C++類的靜態(tài)成員初始化詳細(xì)講解

    C++類的靜態(tài)成員初始化詳細(xì)講解

    通常靜態(tài)數(shù)據(jù)成員在類聲明中聲明,在包含類方法的文件中初始化.初始化時(shí)使用作用域操作符來指出靜態(tài)成員所屬的類.但如果靜態(tài)成員是整型或是枚舉型const,則可以在類聲明中初始化
    2013-09-09
  • 利用Matlab復(fù)刻掃雷小游戲

    利用Matlab復(fù)刻掃雷小游戲

    windows自帶的游戲《掃雷》是陪伴了無數(shù)人的經(jīng)典游戲,本程序參考《掃雷》的規(guī)則進(jìn)行了簡(jiǎn)化,用Matlab實(shí)現(xiàn),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-03-03
  • VC判斷一個(gè)文件為目錄的方法

    VC判斷一個(gè)文件為目錄的方法

    這篇文章主要介紹了VC判斷一個(gè)文件為目錄的方法,在Windows應(yīng)用程序設(shè)計(jì)中非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C語言中使用lex統(tǒng)計(jì)文本文件字符數(shù)

    C語言中使用lex統(tǒng)計(jì)文本文件字符數(shù)

    這篇文章主要介紹了C語言中使用lex統(tǒng)計(jì)文本文件字符數(shù),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • C++實(shí)現(xiàn)基于靜態(tài)數(shù)組的順序表

    C++實(shí)現(xiàn)基于靜態(tài)數(shù)組的順序表

    這篇文章主要介紹了C++實(shí)現(xiàn)基于靜態(tài)數(shù)組的順序表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C語言memset函數(shù)詳解

    C語言memset函數(shù)詳解

    這篇文章主要介紹了C語言中的memset()函數(shù),包括其與memcpy()函數(shù)的區(qū)別,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • C語言如何寫類實(shí)現(xiàn)教程示例

    C語言如何寫類實(shí)現(xiàn)教程示例

    這篇文章主要為大家介紹了C語言如何寫類的實(shí)現(xiàn)教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • C++ min/max_element 函數(shù)用法詳解

    C++ min/max_element 函數(shù)用法詳解

    這篇文章主要介紹了C++ min/max_element 函數(shù)用法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論