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

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::pair

int main() {
    // 使用 make_pair 创建一个包含 int 和 double 的 pair
    auto 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.kler.cn/news/342485.html

相关文章:

  • 《动手学深度学习》Pytorch 版学习笔记一:从预备知识到现代卷积神经网络
  • 学习 JpGraph-历史曲线
  • 五种IO(输入/输出)模型
  • 微服务发展历程
  • 本地部署Docsify生成文档网站并实现公网环境远程访问
  • 机器学习与神经网络:从研究工具到诺贝尔物理学奖的突破
  • flutter鸿蒙版本通过底部导航栏的实现熟悉架构及语法
  • Docker 的数据管理
  • EdgeNAT: 高效边缘检测的 Transformer
  • MySQL(B站CodeWithMosh)——2024.10.10(13)
  • adum1201数字隔离器中文资料与应用
  • TY1801 内置GaN电源芯片(18w-65w)
  • 『网络游戏』客户端发送消息到服务器【17】
  • [单master节点k8s部署]34.ingress 反向代理(一)
  • 遍历有向图链路(DFS算法)- 优化版
  • 充电宝租赁管理系统网站毕业设计SpringBootSSM框架开发
  • 为网站筑起坚固防线,应对HTTP/2快速重置DDoS威胁
  • jdk多版本来回切换不生效
  • Python爬虫(四)正则表达式(Regular Expressions for Python Crawlers)
  • ES6 WeakMap 详解