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的类型可以不同
1 2 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;
|
1 2 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型的数
1 2 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"); }
|