gpt4 book ai didi

c++ - TS 范围内的类模板参数 Proj 和类模板 IndirectUnaryPredicate 的目的是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 02:07:04 24 4
gpt4 key购买 nike

Cpp-reference显示来自(实验)范围 TS 的以下功能模板(以及其他):

template< ranges::InputIterator I, ranges::Sentinel<I> S,
class Proj = ranges::identity,
ranges::IndirectUnaryPredicate<ranges::projected<I, Proj>> Pred >
bool all_of( I first, S last, Pred pred, Proj proj = Proj{} );

模板参数ProjIndirectUnaryPredicate结合使用有什么用?

最佳答案

这是一个投影。在将范围的元素传递给谓词之前,您可以使用它来“转换”范围的元素。它很有用,例如,当您要将谓词应用于像 std::pair 这样的复杂数据类型时,让我们想将谓词应用于 std::pair::second.

all_of(range_of_std_pairs, pred, &pair_t::second);

在对的第二个元素上使用谓词 pred 检查 std::pairs 的范围。

关于c++ - TS 范围内的类模板参数 Proj 和类模板 IndirectUnaryPredicate 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49218356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com