当前位置: 首页 > news >正文

Android常用C++特性之std::make_pair

声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。

std::make_pair 是 C++ 标准库中的一个函数模板,用于创建一个 std::pair 对象。std::pair 是一种可以存储两个不同类型值的简单数据结构,类似于二元组。std::make_pair 函数可以自动推导出元素的类型,简化了构造 pair 对象的过程。

语法

std::pair<T1, T2> std::make_pair(T1 val1, T2 val2);
  • T1 和 T2std::pair 的两个类型。
  • val1 和 val2 是要存储在 pair 中的两个值。

作用

std::make_pair 用来生成一个 std::pair 对象,不需要显式指定类型,编译器会自动推导出参数的类型。

示例

#include <iostream>
#include <utility>  // 包含 std::make_pair 和 std::pairint main() {// 使用 make_pair 创建一个包含 int 和 double 的 pairauto myPair = std::make_pair(42, 3.14);// 输出 pair 的值std::cout << "First: " << myPair.first << ", Second: " << myPair.second << std::endl;return 0;
}

在这个例子中,std::make_pair(42, 3.14) 自动推导出 std::pair<int, double> 类型,并创建了一个包含两个元素的 pair,分别是 423.14。然后可以通过 myPair.firstmyPair.second 来访问这两个值。

使用场景

  • std::make_pair 通常用于创建键值对,尤其是在使用关联容器(如 std::mapstd::unordered_map)时。
  • 自动推导类型,简化了代码书写,避免了显式地声明 std::pair 的类型。

例如在 std::map 中插入键值对:

#include <iostream>
#include <map>int main() {std::map<int, std::string> myMap;// 使用 make_pair 插入键值对myMap.insert(std::make_pair(1, "Hello"));myMap.insert(std::make_pair(2, "World"));// 输出 map 中的内容for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;}return 0;
}

通过 std::make_pair,代码可以更简洁地生成 std::pair,并插入到容器中。

http://www.lryc.cn/news/458036.html

相关文章:

  • Kafka-参数详解
  • Docker Overlay2 空间优化
  • 第 3 章:使用 Vue 脚手架
  • Spring 循环依赖详解:问题分析与三级缓存解决方案
  • 爬虫prc技术----小红书爬取解决xs
  • uni-app之旅-day06-加入购物车
  • 【Kubernetes】常见面试题汇总(五十六)
  • LabVIEW激光诱导击穿光谱识别与分析系统
  • Redis的基础篇
  • java和python哪个好
  • Electron + ts + vue3 + vite
  • 《大规模语言模型从理论到实践》第一轮学习--分布式训练
  • 多模态智能
  • 【机器学习(十三)】机器学习回归案例之股票价格预测分析—Sentosa_DSML社区版
  • 大模型微调
  • 240607 继承
  • 轻松应对意外丢失:高效电脑数据恢复指南!
  • vue项目中播放rtsp视频流
  • tomcat部署web配置环境变量
  • 数据仓库技术及应用(练习1)
  • 老板的“神助攻”:公司电脑监控软件
  • 前端vue部署网站
  • Unity3D 动画回调函数详解
  • el-table表格表尾合计行,指定合计某几列,自定义合计方法
  • 一款工具替你解决Mac电脑菜单栏图标杂乱问题
  • MySQL 基础入门教程
  • 俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩
  • 腾讯云推流播放相关
  • UE5运行时动态加载场景角色动画任意搭配-相机及运镜(二)
  • @JsonAlias和@JSONField序列化和反序列化