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

C++ pair的用法案例詳解

 更新時間:2021年09月13日 10:34:30   作者:物隨心轉(zhuǎn)  
這篇文章主要介紹了C++ pair的用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

一、介紹

pair是將2個數(shù)據(jù)組合成一組數(shù)據(jù),當(dāng)需要這樣的需求時就可以使用pair。當(dāng)然你也可以自定義一個結(jié)構(gòu)體struct。不過大家都是為了方便,所以就直接用pair了。

pair的實現(xiàn)是一個結(jié)構(gòu)體,主要的兩個成員變量是first second 因為是使用struct不是class,所以可以直接使用pair的成員變量。

其標(biāo)準(zhǔn)庫類型--pair類型定義在#include <utility>頭文件中,定義如下:

類模板:

template<class T1,class T2> struct pair

參數(shù):T1是第一個值的數(shù)據(jù)類型,T2是第二個值的數(shù)據(jù)類型。

二、構(gòu)造函數(shù)

pair<T1, T2> p1;            //創(chuàng)建一個空的pair對象(使用默認(rèn)構(gòu)造),它的兩個元素分別是T1和T2類型,采用值初始化。
pair<T1, T2> p1(v1, v2);    //創(chuàng)建一個pair對象,它的兩個元素分別是T1和T2類型,其中first成員初始化為v1,second成員初始化為v2。
make_pair(v1, v2);          // 以v1和v2的值創(chuàng)建一個新的pair對象,其元素類型分別是v1和v2的類型。

make_pair的用法

無需寫出型別, 就可以生成一個pair對象

例:

std::make_pair(42, '@');

而不必費力寫成:

std::pair<int, char>(42, '@')

當(dāng)有必要對一個接受pair參數(shù)的函數(shù)傳遞兩個值時, make_pair()尤其顯得方便,

void function(std::pair<int, const char*>);
 
void foo{
function(std::make_pair(42, '@')); //pass two values as pair
}

三、使用

 pair<int, double> p1;
 p1 = make_pair(1, 1.2);
 
cout << p1.first << p1.second << endl;
 
//output: 1 1.2
 
int a = 8;
 
string m = "James";
 
pair<int, string> newone;
 
newone = make_pair(a, m);
cout << newone.first << newone.second << endl;
 
//output: 8 James

在某些清況函數(shù)會以pair對象作為返回值時,可以直接通過std::tie進行接收。比如

#include <utility>
#include <iostream>
 
using namespace std; 
std::pair<std::string, int> getPreson() {
    return std::make_pair("Sven", 25);
};
 
int main(int argc, char **argv) {
    std::string name;
    int ages;
 
    std::tie(name, ages) = getPreson();
 
    std::cout << "name: " << name << ", ages: " << ages << std::endl;
 
    return 0;
}

參考:

https://blog.csdn.net/weixin_42825576/article/details/81571419

https://blog.csdn.net/sevenjoin/article/details/81937695

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

相關(guān)文章

  • C/C++利用棧和隊列實現(xiàn)停車場管理系統(tǒng)

    C/C++利用棧和隊列實現(xiàn)停車場管理系統(tǒng)

    數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計一般都不是很好理解,今天小編為大家總結(jié)了一下c和c++版本的常見棧和隊列的的停車場管理程序,需要的小伙伴可以參考一下
    2022-06-06
  • opencv3/C++繪制幾何圖形實例

    opencv3/C++繪制幾何圖形實例

    今天小編就為大家分享一篇opencv3/C++繪制幾何圖形實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++解析特殊符號tab、換行符號實例代碼

    C++解析特殊符號tab、換行符號實例代碼

    這篇文章主要給大家介紹了關(guān)于C++解析特殊符號tab、換行符號的相關(guān)資料,這個功能在我們?nèi)粘i_發(fā)中經(jīng)常會遇到,需要的朋友可以參考下
    2021-05-05
  • 詳解C語言gets()函數(shù)與它的替代者fgets()函數(shù)

    詳解C語言gets()函數(shù)與它的替代者fgets()函數(shù)

    這篇文章主要介紹了詳解C語言gets()函數(shù)與它的替代者fgets()函數(shù)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • C++使用ImGUI框架開發(fā)一個簡單程序

    C++使用ImGUI框架開發(fā)一個簡單程序

    ImGui?是一個用于C++的用戶界面庫,跨平臺、無依賴,支持OpenGL、DirectX等多種渲染API,下面就跟隨小編一起學(xué)習(xí)一下如何使用ImGUI框架開發(fā)一個簡單程序吧
    2023-08-08
  • C語言鏈表實現(xiàn)貪吃蛇游戲

    C語言鏈表實現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了C語言鏈表實現(xiàn)貪吃蛇游戲源碼,適合C語言入門者學(xué)習(xí)閱讀,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • C++實現(xiàn)簡單掃雷小游戲

    C++實現(xiàn)簡單掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)簡單掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 詳解C++中函數(shù)模板的定義與使用

    詳解C++中函數(shù)模板的定義與使用

    函數(shù)模板實質(zhì)就是參數(shù)化數(shù)據(jù)類型,稱這種編程模式為數(shù)據(jù)類型泛化編程。本文將通過示例來和大家一起了解下C++中函數(shù)模板的定義與使用,需要的可以參考一下
    2022-09-09
  • 深入探討C++ OpenCV如何實現(xiàn)圖像矯正

    深入探討C++ OpenCV如何實現(xiàn)圖像矯正

    這篇文章主要為大家詳細(xì)介紹了C++ OpenCV如何實現(xiàn)簡單的圖像矯正功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • C++實現(xiàn)LeetCode(119.楊輝三角之二)

    C++實現(xiàn)LeetCode(119.楊輝三角之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(119.楊輝三角之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評論

二连浩特市| 蛟河市| 荣昌县| 射阳县| 新干县| 江西省| 博野县| 绥芬河市| 仁布县| 襄城县| 贵阳市| 肥乡县| 东辽县| 兴城市| 武陟县| 原阳县| 应城市| 许昌县| 洛阳市| 祁东县| 黄石市| 浠水县| 阿拉善左旗| 中方县| 大田县| 钟祥市| 涟水县| 本溪| 宜兰市| 固原市| 黄梅县| 天镇县| 松阳县| 右玉县| 阿坝县| 泗阳县| 四川省| 白沙| 微山县| 邢台县| 分宜县|