久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

C++ pair的用法案例詳解

這篇文章主要介紹了C++ pair的用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

一、介紹

pair是將2個數據組合成一組數據,當需要這樣的需求時就可以使用pair。當然你也可以自定義一個結構體struct。不過大家都是為了方便,所以就直接用pair了。

pair的實現是一個結構體,主要的兩個成員變量是first second 因為是使用struct不是class,所以可以直接使用pair的成員變量。

其標準庫類型--pair類型定義在#include <utility>頭文件中,定義如下:

類模板:


template<class T1,class T2> struct pair

參數:T1是第一個值的數據類型,T2是第二個值的數據類型。

二、構造函數


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

make_pair的用法

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

例:


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

而不必費力寫成:


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

當有必要對一個接受pair參數的函數傳遞兩個值時, 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

在某些清況函數會以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

到此這篇關于C++ pair的用法案例詳解的文章就介紹到這了,更多相關C++ pair的用法內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了++ 設計模式的基本原則,主要的目標是實現最終目的,高內聚,低耦合,開放封閉原則類的改動是通過增加代碼進行的,感興趣的小伙伴可參考下面文章的具體內容
這篇文章主要介紹了C++基于OpenCV手勢識別的實現源碼,這里用到背景減法模型知識,具體實例代碼跟隨小編一起看看吧
下面小編就為大家帶來一篇深入理解c++指針的指針和指針的引用。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
C++ 提供了異常機制,讓我們能夠捕獲運行時錯誤,本文就詳細的介紹了C++異常處理入門,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要給大家介紹了關于C/C++中的內存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c/c++具有一定的參考學習價值,需要的朋友們下面隨著小編來
推箱子想必是很多人童年時期的經典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關于如何利用c++寫一個簡單的推箱子小游戲的相關資料,需要的朋友可以
主站蜘蛛池模板: 欧美精品一区二区三区蜜桃视频 | 九九热精品视频 | 毛片.com | 久久久国产一区二区三区 | 亚洲成人三区 | 国产日韩视频在线 | 欧美性猛片aaaaaaa做受 | 国产精品欧美精品日韩精品 | 亚州无限乱码 | 蜜桃av一区二区三区 | 日韩中文字幕免费在线观看 | 精品九九久久 | 九九在线| 亚洲综合色站 | 久久久国产一区 | 久久一热 | 久久精品视频播放 | 久久久久电影 | 日韩中文字幕 | 欧美一级欧美一级在线播放 | 麻豆精品一区二区三区在线观看 | 99热播精品 | 国产精品视频网 | 国产精品视频一区二区三 | 在线欧美一区二区 | 欧美2区| 91综合网| 国产女人与拘做受视频 | 国产一区欧美一区 | 久久一区二区视频 | 日韩欧美大片在线观看 | 亚洲午夜精品一区二区三区他趣 | 国产精品一区二区视频 | 91九色在线观看 | 欧美日韩一区精品 | 国产成人精品一区二 | 日韩精品三区 | 久久99精品久久 | 亚洲毛片一区二区 | 国产在线一区二区三区 | 欧美精品一二三 |