21xrx.com
2025-06-24 22:33:18 Tuesday
登录
文章检索 我的文章 写文章
C++中pair的使用方法
2023-06-30 08:55:17 深夜i     14     0
C++ pair 使用 方法

在C++中,pair是一个非常有用的数据类型,它可以将两个值组合在一起。使用pair可以方便地在不同的数据结构中存储两个不同的值,并且不必为每个值创建一个结构体或类。

pair的声明语法如下:

template <class T1, class T2> struct pair;

其中T1和T2表示两个不同的数据类型,pair是一个模板类,因此可以使用任何类型作为T1和T2。

pair包含两个元素:first和second,分别表示第一个和第二个元素。可以使用pair的构造函数来创建一个pair对象,并使用.first和.second来访问其两个元素。

例如:

#include <iostream>
#include <utility>
using namespace std;
int main()
{
  pair <string, int> p1 ("John", 30);
  cout << p1.first << " " << p1.second << endl;
  
  pair <int, int> p2 (1, 2);
  cout << p2.first << " " << p2.second << endl;
  
  pair <double, char> p3;
  p3.first = 3.14159;
  p3.second = 'C';
  cout << p3.first << " " << p3.second << endl;
    
  return 0;
}

输出:

John 30
1 2
3.14159 C

除了使用构造函数创建pair,还可以使用std::make_pair函数来创建一个新的pair对象:

#include <iostream>
#include <utility>
using namespace std;
int main()
{
  pair <string, int> p1 = make_pair("John", 30);
  cout << p1.first << " " << p1.second << endl;
  
  pair <int, int> p2 = make_pair(1, 2);
  cout << p2.first << " " << p2.second << endl;
  
  pair <double, char> p3 = make_pair(3.14159, 'C');
  cout << p3.first << " " << p3.second << endl;
    
  return 0;
}

输出:

John 30
1 2
3.14159 C

另外,pair还可以作为函数的返回值和参数。例如:

#include <iostream>
#include <utility>
using namespace std;
pair <string, int> getInfo()
{
  string name = "John";
  int age = 30;
  
  return make_pair(name, age);
}
void printInfo(pair<string, int> p)
  cout << "Name: " << p.first << endl;
  cout << "Age: " << p.second << endl;
int main()
{
  pair<string, int> p = getInfo();
  printInfo(p);
  
  return 0;
}

输出:

Name: John
Age: 30

因此,使用pair可以使代码更加简洁和易于理解,并且可以方便地在不同的数据结构中存储两个不同的值。

  
  

评论区