久久久久久久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++寫一個簡單的推箱子小游戲的相關資料,需要的朋友可以
主站蜘蛛池模板: 欧美大片一区二区 | 欧美视频在线看 | 天天草天天射 | 在线播放一区二区三区 | 欧美中文字幕一区二区三区 | 69热视频在线观看 | 午夜在线| 欧美簧片| 欧美日韩毛片 | 亚洲 欧美 日韩 精品 | 日韩在线一区二区三区 | 精品一区二区三区在线播放 | 久久久婷婷 | 中文字幕 国产 | 精品国产一区二区三区性色 | 成人激情视频免费在线观看 | 日本小视频网站 | 欧美日韩在线免费 | 午夜理伦三级理论三级在线观看 | 国产精品久久久久久模特 | 中文字幕一区二区三区四区五区 | 999久久久久久久久6666 | 99re在线视频观看 | 日本在线视| 99re| 国产福利在线播放麻豆 | 日韩在线小视频 | 这里只有精品999 | 中文字幕av亚洲精品一部二部 | 伊人伊人伊人 | 岛国av免费看 | 日韩精品在线网站 | 国产日韩欧美 | 免费视频一区二区 | 午夜精品一区二区三区在线观看 | 久久精品视频播放 | 91免费版在线观看 | 国产线视频精品免费观看视频 | 日韩欧美在线视频 | 正在播放国产精品 | 欧美成人aaa级毛片在线视频 |