std::make_pair & std::make_tuple 的区别和联系
std::make_pair
和 std::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; }
区别和联系:
-
数据数量:
std::make_pair
用于创建包含两个元素的std::pair
。std::make_tuple
用于创建包含任意数量元素的std::tuple
。
-
元素类型:
std::make_pair
的元素类型可以不同。std::make_tuple
的元素类型可以不同,可以是不同类型的值。
-
返回类型:
std::make_pair
返回std::pair
类型。std::make_tuple
返回std::tuple
类型。
-
元素访问:
std::pair
的元素通过first
和second
访问。std::tuple
的元素通过std::get
访问。
分类:
B.1.1-C/C++ 基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-12-13 C++11的 lambda函数(匿名函数)