pair
map是将key和value放在一起来保存,pair是更一般化地将2个数据组合成一组数据,另外当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个struct,主要的两个成员变量是first 和 second,因为是使用struct不是class(默认访问权限public),所以可以直接使用这两个成员变量。
头文件 #include <utility>, 类模板:template<class T1,class T2> struct pair。 T1和T2的类型可以不同
| 12
 3
 4
 5
 6
 7
 
 | pair<T1, T2> p1;            pair<T1, T2> p1(v1, v2);
 make_pair(v1, v2);
 p1 < p2;
 p1 == p2;
 p1.first;
 p1.second;
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | pair<int ,double> p1;p1.first = 1;
 p1.second = 2.5;
 
 pair<int, double> p2;
 p2 = make_pair(1, 1.2);
 
 
 
 std::pair<std::string, int> getPreson()
 {
 return std::make_pair("Sven", 25);
 }
 
 std::string name;
 int ages;
 std::tie(name, ages) = getPreson();
 std::cout << "name: " << name << ", ages: " << ages << std::endl;
 
 | 
string的find 函数
find()返回值是元素在string中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos,是一个很大很大的数。返回值可以看成是一个int型的数
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | string s("12345");string::size_type  position;
 
 position = s.find("34");
 
 if (position != s.npos)
 {
 printf("position is : %d\n" ,position);
 }
 else
 {
 printf("Not found\n");
 }
 
 |