当前位置:   article > 正文

C++ pair 的使用

C++ pair 的使用

pair的作用

C++ 中的 std::pair标准模板库 (STL) 提供的一个容器,它能够存储两个不同类型的数据作为一个整体,其中first:访问 pair 的第一个元素。second:访问 pair 的第二个元素。

  1. int main() {
  2. pair<string, int> p;
  3. //通过构造函数参数列表初始化
  4. p = make_pair("张三", 18);
  5. cout<<p.first << p.second<<endl;//打印结果 张三18
  6. // 初始化的时候赋值
  7. pair<string, int> pname("张三", 18);
  8. cout<<pname.first << pname.second<<endl;//打印结果 张三18
  9. return 0;
  10. }

 使用typedef

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. typedef pair<string,int> pp;
  5. pp p1 = make_pair("张三", 18);
  6. pp p2("张三", 18);
  7. int main() {
  8. cout<<p1.first << p1.second<<endl;
  9. cout<<p2.first << p2.second<<endl;
  10. return 0;
  11. }

pair 用在结构体中

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. struct config{
  5. pair<string, int> p;
  6. // 构造函数初始化
  7. config() : p{"张三", 18} {
  8. cout<<p.first << p.second<<endl;
  9. }
  10. };
  11. int main() {
  12. config c;
  13. return 0;
  14. }

还可以pair 与结构体绑定

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. struct config{
  5. pair<string, int> p;
  6. // 构造函数初始化
  7. config() : p{"张三", 18} {
  8. cout<<p.first << p.second<<endl;
  9. }
  10. };
  11. int main() {
  12. config c;
  13. // 直接访问config结构体内的pair成员
  14. std::cout << "Integer value: " << c.p.second << ", String value: " << c.p.first << std::endl;
  15. // 或者利用C++17的结构化绑定来访问
  16. auto &[strValue, intValue] = c.p;
  17. std::cout << "Integer value: " << intValue << ", String value: " << strValue << std::endl;
  18. return 0;
  19. }

pair 还可以用来 拷贝、赋值和比较

  1. std::pair<int, std::string> copyOfPair(myPair); // 拷贝构造
  2. copyOfPair = anotherPair; // 赋值操作
  3. if (myPair == anotherPair) { // 使用内置的等于运算符进行比较
  4. // ...
  5. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/94084?site
推荐阅读
相关标签
  

闽ICP备14008679号