std::pair 是 C++ 中用于组合两个值的模板类,支持多种创建方式(构造函数、make_pair、花括号初始化),通过 first 和 second 访问成员,常用于返回多值、插入 map 及结构化绑定,推荐在语义明确时使用 struct 提升可读性。

在C++中,std::pair 是一个模板类,定义在 utility 头文件中,用于将两个值组合成一个单元。这两个值可以是相同或不同的类型。它常用于函数返回多个值、插入键值对到容器(如 map)等场景。
创建 std::pair 的方法
有多种方式可以创建 std::pair:
使用构造函数:
std::pair p(1, “hello”); 使用 make_pair 函数(推荐,可自动推导类型):
auto p = std::make_pair(1, “hello”);
编译器会自动推断出类型为 std::pair 使用花括号初始化(C++11 起):
std::pair p{1, “hello”}; // C++17 起支持类模板参数推导
或显式指定:std::pair p{“hi”, 2};
访问 std::pair 的成员
std::pair 有两个公开成员:first 和 second,分别表示第一个和第二个元素。
auto p = std::make_pair(10, “world”);
std::cout
可以直接修改成员值:
立即学习“C++免费学习笔记(深入)”;
p.first = 20;
p.second = “changed”;
std::pair 的常见用途
作为函数返回值:
当需要从函数返回两个相关值时,非常方便。
std::pair findValue(const std::vector& vec, int target) {
for (size_t i = 0; i if (vec[i] == target) {
return {true, static_cast(i)};
}
}
return {false, -1};
} 插入 map 元素:
std::map m;
m.insert(std::make_pair(1, “apple”));
m.insert({2, “banana”}); // 更简洁 结构化绑定(C++17):
可以直接解包 pair 的值:
auto [success, index] = findValue(data, 5);
if (success) { std::cout
基本上就这些。std::pair 使用简单,适合处理成对数据,但若字段有明确语义,建议用 struct 提高可读性。不复杂但容易忽略细节,比如类型自动推导和 const 限制。
以上就是c++++中的std::pair怎么创建和使用_c++ std::pair创建使用方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1478561.html
微信扫一扫
支付宝扫一扫