咨询C++中可将std::pair成员自定义别名的语言机制名称
结构化绑定(Structured Bindings)
你用到的这个C特性叫做结构化绑定,是C17标准新增的语法糖。
它的核心作用是把聚合类型(比如std::pair、std::tuple、数组,或是满足条件的自定义聚合结构体)的成员,一次性绑定到多个自定义标识符上,省去了手动访问.first、.second或是调用std::get<N>()的麻烦,让代码更简洁直观。
在你的代码示例里:
for (const auto& [one, two] : pairs) { std::cout << one << two; }
[one, two]就是把std::pair的first成员绑定到one,second成员绑定到two,并且通过const auto&以常量引用的方式获取,避免不必要的拷贝。
内容的提问来源于stack exchange,提问作者RedBox
相关产品推荐
相关产品推荐

