• C++学习 --pair


    目录

    1, 什么是pair

    2, 创建pair

    2-1, 标准数据类型

    2-2, 自定义数据类型

    3, 查询元素

    3-1, 标准数据类型

    3-2, 自定义数据类型


    1, 什么是pair

    数据以键值对形式存放的容器, 第一个是, 第二个是

    2, 创建pair

    pair<数据类型, 数据类型> 对象名, 可创建一个pair, 数据类型可以是标准数据类型, 也可以是自定义类型

    2-1, 标准数据类型

    1. //键数据类型为string, 值数据类型为int
    2. //pair px为创建pair对象, 后面的部分是对其进行赋值
    3. pairint> p1(pairint>("aaa", 1));
    4. pairint> p2 = make_pair("bbb", 2);
    5. pairint> p3(mapint>::value_type("ccc", 3));

    2-2, 自定义数据类型

    1. Myclass1 mc_1("张三", 10);
    2. Myclass2 mc_2("李四", 20);
    3. //键数据类型为MyClass, 值数据类型为MyClass2
    4. pair p1(mc_1, mc_2);
    5. pair p2 = make_pair(mc_1, mc_2);
    6. pair p3(map::value_type(mc_1, mc_2));

    3, 查询元素

    通过对象名.first, 访问pair的第一个元素, 对象名.second, 访问pair的第二个元素

    3-1, 标准数据类型

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. void print_pair_1(pairint>& p)
    6. {
    7. cout << "键:" << p.first << endl;
    8. cout << "值:" << p.second << endl;
    9. }
    10. int main()
    11. {
    12. pairint> p1 = make_pair("bbb", 2);
    13. print_pair_1(p1);
    14. system("pause");
    15. return 0;
    16. }

    3-2, 自定义数据类型

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. class Myclass1
    6. {
    7. public:
    8. Myclass1(string name, int age) : m_name(name), m_age(age) {};
    9. string m_name;
    10. int m_age;
    11. };
    12. class Myclass2
    13. {
    14. public:
    15. Myclass2(string name, int age) : m_name(name), m_age(age) {};
    16. string m_name;
    17. int m_age;
    18. };
    19. void print_pair_1(pair& p)
    20. {
    21. cout << "键:" << p.first.m_name << " " << p.first.m_age << endl;
    22. cout << "值:" << p.second.m_name << " " << p.second.m_age << endl;
    23. }
    24. int main()
    25. {
    26. Myclass1 mc_1("张三", 10);
    27. Myclass2 mc_2("李四", 20);
    28. pair p1 = make_pair(mc_1, mc_2);
    29. print_pair_1(p1);
    30. system("pause");
    31. return 0;
    32. }
  • 相关阅读:
    【C++】之类和对象 - 构造与析构
    【JDBC篇】 preparedStatement和Statement区别
    UnityPlayerActivity详解
    工作备忘录【react-native】
    Boost1.74.0交叉编译
    扩散模型浅析
    Vue使用Serial连接串口
    正则表达式练习
    leetcode299--猜数字游戏
    C++实战学习:输出类的抽象和实现详解
  • 原文地址:https://blog.csdn.net/qq_25500415/article/details/134484630