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

news/2024/10/19 6:15:27/

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

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

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

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

欢迎关注Android系统攻城狮

1.前言

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

2.应用实例

<1>.map方式

#include <iostream>
#include <vector>
#include <map>
int main() {std::map<std::string, std::string> keyValueMap;//v1.0keyValueMap = { {"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.0keyValueMap.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;
}

<2>.vector + pair方式

#include <iostream>
#include <vector>
#include <map>
int main() {//vector + pair//v1.0std::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.0keyValuevt.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;
}

<3>.vector + make_pair方式

#include <iostream>
#include <vector>
#include <map>
int main() {std::vector<std::pair<std::string, std::string>> keyValuevt;//vector + make_pair//v1.0keyValuevt.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.0keyValuevt.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;
}

http://www.ppmy.cn/news/1103694.html

相关文章

FreeSWITCH recod_session跟静音处理有关的设置

<action application"set" data"record_waste_resourcestrue"/> <action application"set" data"record_fill_cngtrue"/>

C#__线程的优先级和状态控制

线程的优先级&#xff1a; 一个CPU同一时刻只能做一件事情&#xff0c;哪个线程优先级高哪个先运行&#xff0c;优先级相同看调度算法。 在Thread类中的Priority属性&#xff08;Highest,Above,Normal,BelowNormal,Lowest&#xff09;可以影响线程的优先级 关于…

基于Matlab实现多个数字水印案例(附上源码+数据集)

数字水印是一种在数字图像或视频中嵌入特定信息的技术&#xff0c;以保护知识产权和防止盗版。在本文中&#xff0c;我们将介绍如何使用Matlab实现数字水印。 文章目录 实现步骤源码数据集下载 实现步骤 首先&#xff0c;我们需要选择一个用于嵌入水印的图像。这可以是原始图像…

docker启动失败问题解决

docker启动失败问题&#xff1a; 使用journalctl -u docker.service命令排查 [rootharbor ~]# journalctl -u docker.service9月 06 10:02:04 harbor dockerd[6218]: time"2023-09-06T10:02:04.86755742508:00" levelerror msg"getNetworkFromStore for nid 2…

sklearn中make_blobs方法:聚类数据生成器

sklearn中make_blobs()方法参数&#xff1a; n_samples:表示数据样本点个数,默认值100 n_features:是每个样本的特征&#xff08;或属性&#xff09;数&#xff0c;也表示数据的维度&#xff0c;默认值是2。默认为 2 维数据&#xff0c;测试选取 2 维数据也方便进行可视化展示…

Debian11安装MySQL8.0,链接Navicat

图文小白教程 1 下载安装MySQL1.1 从MySQL官网下载安装文件1.2 安装MySQL1.3 登录MySQL 2 配置Navicat远程访问2.1 修改配置2.2 Navicat 连接 end: 卸载 MySQL 记录于2023年9月&#xff0c;Debian11 、 MySQL 8.0.34 1 下载安装MySQL 1.1 从MySQL官网下载安装文件 打开 MySQ…

python将手机模拟器截屏并发送至电脑上

电脑上安装手机模拟器&#xff0c;截手机屏幕图片&#xff0c;发送至电脑上&#xff0c;&#xff08;继而进一步操作&#xff0c;比如图文识别等&#xff09;。环境&#xff1a;python3.10.4 模拟器&#xff1a;雷电模拟器 模拟器安装路径&#xff0c;我的是&#xff1a;D:\lei…

mac 好用的工具推荐

mac 好用的工具推荐 落雪&#xff1a;全网的音乐畅听&#xff0c;下载地址&#xff1a;https://github.com/lyswhut/lx-music-desktopMotrix: 免费下载工具&#xff0c;下载地址&#xff1a;https://xclient.info/s/motrix.html#versionsDownie&#xff1a;视频下载工具&#x…