std::make_pair & std::make_tuple 的区别和联系


std::make_pairstd::make_tuple 都是用于创建对应类型的对象的 C++ 标准库函数模板。

它们的区别主要在于它们所处理的数据类型和返回类型。

std::make_pair

std::make_pair 用于创建一个 std::pair 对象,std::pair 是一个包含两个值的容器。

复制代码
#include <iostream>
#include <utility>

int main() {
    // 使用 std::make_pair 创建一个 std::pair 对象
    auto myPair = std::make_pair(42, "hello");

    // 输出 pair 的内容
    std::cout << "Pair: " << myPair.first << ", " << myPair.second << std::endl;

    return 0;
}
复制代码

std::make_tuple

std::make_tuple 用于创建一个 std::tuple 对象,std::tuple 是一个包含多个值的容器。

复制代码
#include <iostream>
#include <tuple>

int main() {
    // 使用 std::make_tuple 创建一个 std::tuple 对象
    auto myTuple = std::make_tuple(42, "hello", 3.14);

    // 通过 std::get 访问 tuple 的元素
    std::cout << "Tuple: " << std::get<0>(myTuple) << ", " << std::get<1>(myTuple)
              << ", " << std::get<2>(myTuple) << std::endl;

    return 0;
}
复制代码

区别和联系:

  1. 数据数量:

    • std::make_pair 用于创建包含两个元素的 std::pair
    • std::make_tuple 用于创建包含任意数量元素的 std::tuple
  2. 元素类型:

    • std::make_pair 的元素类型可以不同。
    • std::make_tuple 的元素类型可以不同,可以是不同类型的值。
  3. 返回类型:

    • std::make_pair 返回 std::pair 类型。
    • std::make_tuple 返回 std::tuple 类型。
  4. 元素访问:

    • std::pair 的元素通过 firstsecond 访问。
    • std::tuple 的元素通过 std::get 访问。

 

posted @   He_LiangLiang  阅读(167)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-12-13 C++11的 lambda函数(匿名函数)
点击右上角即可分享
微信分享提示