下面是关于C++学习之Pair的使用方法的完整攻略。
什么是Pair
C++中的Pair
是一种特殊的容器,用于将两个数据项组合成一对,具有类似于key-value的键值对结构,分别被称为first
和second
,可以用于较为简便的存储和访问数据。
使用方法
在使用Pair
前需要引入头文件#include <utility>
。
定义一个Pair
通过以下方式创建一个Pair
对象:
#include <utility>
#include <iostream>
int main() {
std::pair<int,std::string> my_pair = std::make_pair(1, "one");
std::cout << my_pair.first << " " << my_pair.second; //输出:1 one
return 0;
}
我们定义了一个名为my_pair
的Pair
对象,第一个类型为int
,第二个类型为std::string
,通过std::make_pair()
函数将1和"one"组成一个Pair
对象。
使用Pair
Pair
对象的成员变量分别为first
和second
,分别表示第一个和第二个数据项:
#include <utility>
#include <iostream>
int main() {
std::pair<int,std::string> my_pair = std::make_pair(1, "one");
std::cout << my_pair.first << " " << my_pair.second << std::endl;
my_pair.first = 2;
my_pair.second = "two";
std::cout << my_pair.first << " " << my_pair.second;
return 0;
}
输出结果为:
1 one
2 two
使用Pair作为函数的返回类型
Pair
可以作为函数的返回类型,例如一个函数需要返回两个不同类型的值,而Pair
正好提供了这样的功能:
#include <iostream>
#include <utility>
std::pair<std::string, int> my_func() {
std::pair<std::string, int> result = std::make_pair("Hello", 1);
return result;
}
int main() {
std::pair<std::string, int> my_pair = my_func();
std::cout << my_pair.first << " " << my_pair.second;
return 0;
}
输出结果为:
Hello 1
示例
举一个使用Pair
的简单示例,下面是一个使用Pair
来表示笛卡尔坐标系中的一个点的例子:
#include <iostream>
#include <utility>
struct point {
int x;
int y;
};
std::pair<point, std::string> my_func(int x, int y) {
point p = {x, y};
std::string info = "Point at (" + std::to_string(x) + ", "
+ std::to_string(y) + ")";
std::pair<point, std::string> result = std::make_pair(p, info);
return result;
}
int main() {
std::pair<point, std::string> my_pair = my_func(3, 4);
std::cout << my_pair.second << ": (" << my_pair.first.x << ", "
<< my_pair.first.y << ")";
return 0;
}
输出结果为:
Point at (3, 4): (3, 4)
这里我们定义了一个结构体point
表示一个点,然后又定义了一个函数my_func
,该函数接收两个整型参数,即点的横纵坐标,并被转换为一个结构体point
对象和一个字符串信息,最后通过Pair
将这两个数据项组合起来作为返回值。在main
函数中我们再次打印了这个点的信息和坐标。
以上就是关于C++学习之Pair的使用方法的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:谈谈C++学习之Pair的使用方法 - Python技术站