• 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
  • 相关阅读:
    蓝桥杯前端Web赛道-新鲜的蔬菜
    一百九十二、Flume——Flume数据流监控工具Ganglia单机版安装
    pytorch tensor的广播机制
    vue.js样式绑定03(源代码)
    ​软考-高级-系统架构设计师教程(清华第2版)【第14章 云原生架构设计理论与实践(P496~526)-思维导图】​
    VUE2安装初始化步骤(2022)
    Neo4j图数据科学及2.0版本新功能介绍
    springboot thymeleaf使用
    计算机毕业设计选题推荐-人才招聘微信小程序/安卓APP-项目实战
    《向量数据库指南》——完善产品拼图,GBASE南大通用发布向量数据库
  • 原文地址:https://blog.csdn.net/u010164190/article/details/132748373