21xrx.com
2024-12-22 22:03:09 Sunday
登录
文章检索 我的文章 写文章
C++中pair的使用方法
2023-06-30 08:55:17 深夜i     --     --
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可以使代码更加简洁和易于理解,并且可以方便地在不同的数据结构中存储两个不同的值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复