• C++之生成key-value键值三种方式(一百九十)


    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

    优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

    人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

    更多原创,欢迎关注:Android系统攻城狮

    欢迎关注Android系统攻城狮

    1.前言

    本篇目的:理解C++之三种key-value键值生成方式。

    2.应用实例

    <1>.map方式

    #include 
    #include 
    #include 
    int main() {
      std::map<std::string, std::string> keyValueMap;
    
      //v1.0
      keyValueMap = { {"name", "张三"}, {"age", "20"}, {"country", "中国"} };
    
      // 遍历map并打印键值对
      for (const auto& pair : keyValueMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
      }
      std::cout << std::endl;
    
      keyValueMap.clear();
    
      //v2.0
      keyValueMap.insert({"name","李四"});
      keyValueMap.insert({"age","18"});
      keyValueMap.insert({"country","China"});
    
      //遍历map并打印键值对
      for (const auto& pair : keyValueMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
      }
      std::cout << std::endl;
    
    
      return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    <2>.vector + pair方式

    #include 
    #include 
    #include 
    int main() {
    
      //vector + pair
      //v1.0
      std::vector<std::pair<std::string, std::string>> keyValuevt;
      keyValuevt = { {"name", "王五"}, {"age", "22"}, {"country", "中国"} };
    
      for (const auto& vv : keyValuevt) {
        std::cout << vv.first << ": " << vv.second << std::endl;
      }
      std::cout << std::endl;
      keyValuevt.clear();
    
    
      //v2.0
      keyValuevt.push_back({"name","Tom"});
      keyValuevt.push_back({"age","10"});
      keyValuevt.push_back({"countyr","China"});
    
      for (const auto& vv : keyValuevt) {
        std::cout << vv.first << ": " << vv.second << std::endl;
      }
    
      return 0;
    }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    <3>.vector + make_pair方式

    #include 
    #include 
    #include 
    int main() {
      std::vector<std::pair<std::string, std::string>> keyValuevt;
    
      //vector + make_pair
      //v1.0
      keyValuevt.push_back(std::make_pair("name", "六五"));
      keyValuevt.push_back(std::make_pair("age", "21"));
      keyValuevt.push_back(std::make_pair("country", "中国"));
    
      for (const auto& vv : keyValuevt) {
        std::cout << vv.first << ": " << vv.second << std::endl;
      }
      std::cout << std::endl;
      keyValuevt.clear();
      
      //v2.0
      keyValuevt.push_back({"name","Tom"});
      keyValuevt.push_back({"age","10"});
      keyValuevt.push_back({"countyr","China"});
    
      for (const auto& vv : keyValuevt) {
        std::cout << vv.first << ": " << vv.second << std::endl;
      }
      return 0;
    }
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
  • 相关阅读:
    用积木讲运维,这样的IT人太会了
    Django中djangorestframework-simplejwt的使用
    javaScript---箭头函数和普通函数的区别
    cloudstack中ConsoleProxyManagerImpl
    AtCoder Beginner Contest 350 (ABCDEF题)视频讲解
    深入浅出 JavaScript 中的 this
    MongoDB入门与实战-第四章-SpringBoot集成MongoDB
    A包含B,用block实现A和B互相调用更新数据
    k8s编程operator——(3) 自定义资源CRD.md
    大数据时代下,医疗行业如何实现数据安全保障?
  • 原文地址:https://blog.csdn.net/u010164190/article/details/132748373