首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C++_pair

C++_pair

作者头像
GeekLiHua
发布2025-01-21 13:51:08
发布2025-01-21 13:51:08
2840
举报
文章被收录于专栏:JavaJava

C++_pair

简介:pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。

就算其他的语言中没有pair,比如java与c语言,也可以自己理解原理之后,通过结构体自己做一个。

定义方法

代码语言:javascript
复制
#include <iostream>

using namespace std;

int main()
{
    pair<char ,int> p; // pair<T, T>定义看起来很简单,T代表的是通用模板类,可以是char,int,string,vector<int>等等
    p = {'c', 330}; // 给pair赋值的方法
    cout << p.first << " " << p.second; // pair有两个成员变量,first与second
    return 0;
}

运行结果

特殊例子

代码语言:javascript
复制
#include <iostream>
#include<vector>
using namespace std;

int main()
{
    pair<string, vector<int> > p;
    vector<int> v(10, 1);
    p = {"123", v};
    cout << p.first << endl;
    // 如果pair中的一个参数是容器,应该怎么访问
    for (int i = 0; i < p.second.size(); ++ i)
    {
        cout << p.second[i]<< endl;
    }
    return 0;
}

运行结果

自定义pair

代码语言:javascript
复制
#include <iostream>
#include<vector>
using namespace std;

template<class K, class T>
class Pair{
    public:
        // 有参数和无参构造方法都要写
        Pair(){
        }
    public:
        T first;

    public:
        T second;
};

int main()
{
    Pair<int, int> p;
    p.first = 1;
    p.second = 2;
    cout << p.first << " " << p.second << endl;
    return 0;
}

运行结果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C++_pair
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档