专门教ps的网站,做商业地产常用的网站,做网站浏览器标签一般放哪,爱站攻略蓝桥杯基础知识6 pair pair 的定义和结构#xff1a;在C中#xff0c;pair是一个模板类#xff0c;用于表示一对值的组合#xff0c;头文件utility。 pair类 的定义#xff1a;
templateclass T1, class T2
struct pair{T1 first; // 第一个值T2 seco…蓝桥杯基础知识6 pair pair 的定义和结构在C中pair是一个模板类用于表示一对值的组合头文件utility。 pair类 的定义
templateclass T1, class T2
struct pair{T1 first; // 第一个值T2 second; // 第二个值// 构造函数pair();pair(const T1 x, const T2 y);// 比较运算符重载bool operator (const pair rhs) const;bool operator (const pair rhs) const;// 其他成员函数和特性// ...
}; pair 类模板 有两个模板参数T1 和 T2分别表示第一个值 和 第二个值的类型;
有两个成员变量fist 和 second分别表示 第一个值 和 第二个值。 pair 类有一些成员函数 和 特性例如默认构造函数、带参数的构造函数、比较运算符重载等。 使用pair 类可以方便地将两个值组合在一起并进行传递、存储 和 操作。 #includeiostream
#includeutilityint main(){std::pairint, double p1(1, 3.14);std::pairchar, std::string p2(a, hello);std::cout p1.first , p1.second std::endl;std::cout p2.first , p2.second std::endl;return 0;
} 创建两个pair 对象分别包含不同类型的值分别访问并输出对象 p1 、p2 的 first 和 second 成员变量的值。 pair 的嵌套将一个 pair 对象作为另一个 pair 对象的成员。 #includeiostream
#includeutilityint main(){std::pairint, int p1(1, 2);std::pairint, std::pairint, int p2(3, std::make_pair(4, 5));std::pairstd::pairint, int, std::pairint, int p3(std::make_pair(6, 7), std::make_pair(8, 9));std::cout p1.first , p1.second std::endl;std::cout p2.first , p2.second.first p2.second.second std::endl;std::cout p3.first .first , p3.first.second , p3.second.first p3.second.second std::endl;return 0;
} pair自带的排序规则按照first成员升序排序若first成员相等则按照second 成员升序排序。 #includeiostream
#includeutility
#includevector
#includealgorithmint main(){std::vectorstd::pairint, int vec;vec.push_back(std::make_pair(3, 2));vec.push_back(std::make_pair(1, 4));vec.push_back(std::make_pair(2, 1));std::sort(vec.begin(), vec.end());for(const auto p : vec){std::cout p.first , p.second std::endl;} // 1,4 2,1 3,2return 0;} 创建一个存储 pair 对象的向量 vec包含三个pair对象。 #includeiostream
#includeutility
#includevector// 定义一个结构体表示一个人的信息
struct Person{std::string name;int age;
};int main(){// 创建一个存储Person对象的向量std::vectorPerson people;// 添加一些Person对象到向量中people.push_back({Alice, 25});people.push_back({Bob, 30});people.push_back({Charlie, 20});// 创建一个存储pair的向量每个pair包含一个Person对象和一个评分std::vectorstd::pairPerson, int scores;// 添加一些pair到向量中scores.push_back({people[0], 90});scores.push_back({people[1], 85});scores.push_back({people[2], 95});// 遍历pair向量并输出每个人的姓名、年龄 和 评分for(const auto pair : scores){std::cout Name: pair.first.name std::endl;std::cout Age: pair.first.age std::endl;std::cout Score: pair.second std::endl;}return 0;} C 在线工具 | 菜鸟工具 (jyshare.com) Name: Alice Age: 25 Score: 90 Name: Bob Age: 30 Score: 85 Name: Charlie Age: 20 Score: 95 可拓展学习
C pair的基本用法总结整理_c pair用法-CSDN博客
C中push_back()函数_pushback函数-CSDN博客