Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
c++中的std::pair怎么创建和使用_c++ std::pair创建使用方法_创想鸟

c++中的std::pair怎么创建和使用_c++ std::pair创建使用方法

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

c++中的std::pair怎么创建和使用_c++ std::pair创建使用方法

在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

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
c++怎么实现委托(delegate)_c++委托实现方法
上一篇 2025年12月19日 03:02:20
c++中#include "" 和 #include <> 有什么区别_c++头文件包含方式区别说明
下一篇 2025年12月19日 03:02:29

相关推荐

发表回复

登录后才能评论
关注微信